これはどういうわけか可能ですか?
いくつかのページで私はカスタムボックスプラグインを使用します、そして、私はそれらのページのいくつかで内容ボックスを示す必要はありません。ページテンプレートで非表示にすることは可能ですか?またはテンプレートができない場合はID?
グローバルな$ postがinitに存在していないように思われるので、私はuserabuserの答えを少し修正して使用しました。次のように、代わりにクエリ文字列でpost
を問い合わせることができます。
function remove_editor() {
if (isset($_GET['post'])) {
$id = $_GET['post'];
$template = get_post_meta($id, '_wp_page_template', true);
if($template == 'template_name.php'){
remove_post_type_support( 'page', 'editor' );
}
}
}
add_action('init', 'remove_editor');
これをfunctions.phpに追加してください。
add_action('init', 'remove_content_editor');
function remove_content_editor() {
remove_post_type_support( 'posttype', 'editor' );
}
Posttypeを投稿タイプの名前に置き換えます。その投稿タイプのページからコンテンツエディタを削除します
テンプレートに基づいてエディタを削除するには、次のようにします。
add_action('init', 'remove_editor');
function remove_editor() {
global $post;
$template = get_post_meta($post->ID, '_wp_page_template', true);
//change 'page' to whatever post type you want to apply this to.
if($template == 'template_name.php'){
remove_post_type_support( 'page', 'editor' );
}
}
以下のコードは私のために働きます。 (特定のページまたはテンプレート)
add_action('admin_init', 'hide_editor');
function hide_editor() {
$post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];
if (!isset($post_id))
return;
// Hide the editor on the page titled 'Press and services' pages
$hide_page = get_the_title($post_id);
if ($hide_page == 'press') {
remove_post_type_support('page', 'editor');
}
if ($hide_page == 'Services') {
remove_post_type_support('page', 'editor');
}
// Hide the editor on a page with a specific page template
// Get the name of the Page Template file.
$template_file = get_post_meta($post_id, '_wp_page_template', true);
//---
if ($template_file == 'template-press.php') { // the filename of the page template
remove_post_type_support('page', 'editor');
}
if ($template_file == 'template-service.php') { // the filename of the page template
remove_post_type_support('page', 'editor');
}
}