2017-10-21 34 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'); 
} 
?> 
相關問題