Wordpress Multisite中的自定义帖子类型和自定义字段
问题描述:
我是新来的Wordpress Multisite,我想知道是否可以定义一组自定义帖子类型(电影,类别和演员)和一组自定义字段(即a电影有一个拖车字段,演员,和一个类别)为每个新的网站一个网络。Wordpress Multisite中的自定义帖子类型和自定义字段
我需要能够创建新的网站,他们都必须预先配置CPT和CF我说。
是否可以使用Wordpress MU或者我应该找到另一种解决方案?
答
假设他们都使用相同的主题,则可以在父主题的functions.php中声明每个自定义帖子类型(如果有子主题)。由于多站点共享相同的插件和主题,因此将使用该主题为所有站点注册自定义帖子类型。
自定义字段有点不同。你可以使用像我推荐的Advanced Custom Fields这样的插件,但是这需要为每个站点激活。如果您希望这些自定义字段立即可供在帖子编辑屏幕上使用,您可以为ID为1的帖子的每个必填字段添加add_post_meta()
。所有WordPress的实例都将有ID为1的帖子,默认帖子。这些字段将被“预先注册”。请注意,我忽略了您提到的“类别”帖子类型和字段,因为类别已经是一个WordPress分类法,并且可能会让用户感到困惑。这不是一个理想的解决方案,但它的工作原理。我必须在预填充自动部署Wordpress实例的牙科诊所软件的自定义字段时执行此操作。
add_action('init', 'create_custom_post_types');
function create_custom_post_types() {
register_post_type('films',
array(
'labels' => array(
'name' => __('Films'),
'singular_name' => __('Film')
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'custom-fields')
)
);
register_post_type('actors',
array(
'labels' => array(
'name' => __('Actors'),
'singular_name' => __('Actor')
),
'public' => true,
'has_archive' => true,
'supports' => array('title', 'editor', 'custom-fields')
)
);
}
// Check if the post meta has been added to our default post.
// If not, add our post_meta to make it available.
if(!get_post_meta(1, 'trailer_for_film')) {
add_post_meta(1, 'trailer_for_film', 'default trailer', true);
add_post_meta(1, 'actors', 'default actor', true);
}
他们会共享相同的主题吗? – jboneca
是的,他们会! – Alan