自定义后类型`如果(array_key_exists`其他查询
问题描述:
我已经配置了一个custom_post_type
使用自定义后类型`如果(array_key_exists`其他查询
function discovr_campaign_endpoints() {
add_rewrite_endpoint('overview', EP_PERMALINK);
add_rewrite_endpoint('new-campaign-details', EP_PERMALINK);
add_rewrite_endpoint('new-campaign-audience', EP_PERMALINK);
add_rewrite_endpoint('new-campaign-page', EP_PERMALINK);
add_rewrite_endpoint('new-campaign-ads', EP_PERMALINK);
add_rewrite_endpoint('edit-campaign', EP_PERMALINK);
add_rewrite_endpoint('analytics', EP_PERMALINK);
add_rewrite_endpoint('preview-campaign', EP_PERMALINK);
}
add_action('init', 'discovr_campaign_endpoints');
和内single-post-type.php
<?php
if(array_key_exists('overview', $wp_query->query_vars)){
include("campaign-templates/single-campaign-overview.php");
}
if(array_key_exists('new-campaign-details', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-details.php");
}
if(array_key_exists('new-campaign-audience', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-audience.php");
}
if(array_key_exists('new-campaign-page', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-page.php");
}
if(array_key_exists('new-campaign-ads', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-ads.php");
}
if(array_key_exists('edit-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-edit.php");
}
if(array_key_exists('analytics', $wp_query->query_vars)){
include("campaign-templates/single-campaign-analytics.php");
}
if(array_key_exists('preview-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-preview.php");
}?>
显示每个页面的相应内容显示多个页面每个endpoint
但是,我仍然想显示
<?php the_content();?>
如果这些页面未显示,请在single-post-type.php
页面中。
我一直在使用
if(array_key_exists('new-campaign-details', $wp_query->query_vars))
{
include("campaign-templates/single-campaign-new-details.php");
}else{
echo the_content();
}
每个
试过了,但是,这则显示the_content
多次,我相信我需要一种方法来添加一个if(*first* array_key_exists)
声明各地各elseif(array_key_exists
查询这些端点是否存在else} echo the_content();
像下面的例子(这似乎工作,并会如果我取代接受echo 'Hello World';
但不the_content();
)
<?php
if(array_key_exists('overview', $wp_query->query_vars)){
include("campaign-templates/single-campaign-overview.php");
}
elseif(array_key_exists('new-campaign-details', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-details.php");
}
elseif(array_key_exists('new-campaign-audience', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-audience.php");
}
elseif(array_key_exists('new-campaign-page', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-page.php");
}
elseif(array_key_exists('new-campaign-ads', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-ads.php");
}
elseif(array_key_exists('edit-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-edit.php");
}
elseif(array_key_exists('analytics', $wp_query->query_vars)){
include("campaign-templates/single-campaign-analytics.php");
}
elseif(array_key_exists('preview-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-preview.php");
}
else{
echo the_content();
}
?>
谢谢你的帮助。
答
不用担心,我的解决方案是正确的,只是缺少一些关键点。
如果其他人有这个问题,怀疑它。来自一个全能者的愚蠢错误。
这是
<?php
if(array_key_exists('overview', $wp_query->query_vars)){
include("campaign-templates/single-campaign-overview.php");
}
elseif(array_key_exists('new-campaign-details', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-details.php");
}
elseif(array_key_exists('new-campaign-audience', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-audience.php");
}
elseif(array_key_exists('new-campaign-page', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-page.php");
}
elseif(array_key_exists('new-campaign-ads', $wp_query->query_vars)){
include("campaign-templates/single-campaign-new-ads.php");
}
elseif(array_key_exists('edit-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-edit.php");
}
elseif(array_key_exists('analytics', $wp_query->query_vars)){
include("campaign-templates/single-campaign-analytics.php");
}
elseif(array_key_exists('preview-campaign', $wp_query->query_vars)){
include("campaign-templates/single-campaign-preview.php");
}
else{
get_header('new');
if (have_posts()) : while (have_posts()) : the_post();
the_content();
endwhile;
endif;
get_footer('new');
}
?>