在 WordPress 中只为 "Custom Post Type" 而不是其他人启用 "Post Formats"
Enable "Post Formats" Just For a "Custom Post Type" And Not Others In WordPress
我一直在为 WordPress 中的 Post 格式和 CPT 而苦苦挣扎,几个小时后,我决定创建一些 CPT 并为它们启用 Post 格式。
问题是,当我启用 Post 格式时,它们可用于所有 post 类型;我只想为某些 CPT 而不是其他人使用它们。
假设我有三个 CPT,名为“article”、“webinar”和“”教程”。我想为“webinar”启用 Post 格式。
我所做的是创建一个插件并启用 Post 格式:
add_theme_support( 'post-formats', array( 'audio', 'image', 'video', 'gallery' ));
在那之后,我尝试为 CPT 启用它们,称为 medya:
add_post_type_support( 'medya', 'post-formats');
然后,我尝试将它们禁用为默认 "post" post 类型。
remove_theme_support( 'post', 'post-formats');
但它不起作用,Post 两种格式都已启用。
有什么建议吗?
您可以尝试在functions.php
中加入
add_action('after_setup_theme', 'mjt_remove_formats', 100);
function mjt_remove_formats()
{
remove_theme_support('post-formats' , array( 'post' ));
}
已回答
我找到了答案here。
function remove_pf() {
remove_meta_box( 'formatdiv','post','normal' );
}
add_action( 'admin_menu', 'remove_pf' );
我一直在为 WordPress 中的 Post 格式和 CPT 而苦苦挣扎,几个小时后,我决定创建一些 CPT 并为它们启用 Post 格式。
问题是,当我启用 Post 格式时,它们可用于所有 post 类型;我只想为某些 CPT 而不是其他人使用它们。
假设我有三个 CPT,名为“article”、“webinar”和“”教程”。我想为“webinar”启用 Post 格式。
我所做的是创建一个插件并启用 Post 格式:
add_theme_support( 'post-formats', array( 'audio', 'image', 'video', 'gallery' ));
在那之后,我尝试为 CPT 启用它们,称为 medya:
add_post_type_support( 'medya', 'post-formats');
然后,我尝试将它们禁用为默认 "post" post 类型。
remove_theme_support( 'post', 'post-formats');
但它不起作用,Post 两种格式都已启用。 有什么建议吗?
您可以尝试在functions.php
中加入add_action('after_setup_theme', 'mjt_remove_formats', 100);
function mjt_remove_formats()
{
remove_theme_support('post-formats' , array( 'post' ));
}
已回答
我找到了答案here。
function remove_pf() {
remove_meta_box( 'formatdiv','post','normal' );
}
add_action( 'admin_menu', 'remove_pf' );