2017-10-21 33 views
0

我已经配置了一个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(); 
} 
?> 

谢谢你的帮助。

回答

0

不用担心,我的解决方案是正确的,只是缺少一些关键点。

如果其他人有这个问题,怀疑它。来自一个全能者的愚蠢错误。

这是

<?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'); 
} 
?> 
相关问题