私はPosts投稿タイプを一回もスキップするつもりです。これはまったく新しいポータルです。それは記事、マルチメディア、そしてリンクの形で何十万ものコンテンツを持つでしょう。投稿の代わりに、 "記事"というカスタム投稿タイプを使用します。同様に、私のビデオ、オーディオ、および写真の投稿にも、「マルチメディア」と呼ばれる別のCPTを使用します。
私はこれをやっています私たちが何かを投稿するときはいつでも、それはCPTです。それは私がURLを管理するのに役立ちます、管理UI、誰が何を制御するのか、どの分類法をいつ表示するのか、そしてすべてのこと.
二つの質問:
1。管理UIの投稿メニューをどのように削除しますか?
シンプル、投稿タイプpost
の登録を解除するだけです。これを行うためのデフォルト関数はありませんが、コア開発者の1人( Nacin )がWP Tracチケットにサンプルコードを投稿し、その方法を示しています。
if ( ! function_exists( 'unregister_post_type' ) ) :
function unregister_post_type( $post_type ) {
global $wp_post_types;
if ( isset( $wp_post_types[ $post_type ] ) ) {
unset( $wp_post_types[ $post_type ] );
return true;
}
return false;
}
endif;
2。投稿タイプをスキップしてまったく使用しないという問題はありますか?
デフォルトの投稿タイプを登録解除することはお勧めできません。あなたができることができるからといって、そうすべきだとは限らない。最初の記事としてデフォルトの投稿を使用することをお勧めします。
投稿とページは他のCPTと同じように登録されます。したがって、posts
を登録解除するだけでarticles
を登録解除することは、車輪の再発明に似ています。
別のオプションとして、デフォルトのpost
post_typeをそのままにして、メニューラベルとそれに関連する他のすべてのラベルを変更することができます。
add_action( 'init', 'c3m_change_post_object_label' );
function c3m_change_post_object_label() {
global $wp_post_types;
$labels = &$wp_post_types['post']->labels;
$labels->name = 'Articles';
$labels->singular_name = 'Add New Article';
$labels->add_new = 'Add Article';
$labels->add_new_item = 'Add Article';
$labels->edit_item = 'Edit Article';
$labels->new_item = 'New Article';
$labels->view_item = 'View Article';
$labels->search_items = 'Search Articles';
$labels->not_found = 'No Articles Found';
$labels->not_found_in_trash = 'No Articles found in Trash';
}
add_action( 'admin_menu', 'c3m_change_post_menu_label' );
function c3m_change_post_menu_label() {
global $menu;
global $submenu;
$menu[5][0] = 'Articles';
$submenu['edit.php'][5][0] = 'Articles';
$submenu['edit.php'][10][0] = 'Add Article';
echo '';
}
私はこれが古いスレッドのようなものであることを知っています、しかし私はちょうどカスタム投稿タイプの登録を解除するためにかなり便利なGitHubの上でこの非常に小さいスクリプトを見つけました: