我有一个页面模板,用于各种广告活动的登录页。该模板使用自定义字段处理页面中的标题和其他较短内容。但是,该模板包含一整节常见问题解答。在许多情况下,登录页上的FAQ是相同的,但如果需要,要求能够在该空间中使用不同的FAQ集(或完全不同的结构化/格式化内容)。我在模板中构建了一些逻辑,可以获取the_content
,并将其添加到the_content
登录页本身的。在这里,我试图添加一些与WP的模板层次结构类似的附加逻辑…\'如果您找到一篇名为this的帖子,请使用它;如果您没有找到一篇名为that的帖子,请使用它;如果您没有找到任何一篇帖子,请使用此默认设置”。
我是根据登陆页的弹头来做的。所以如果登录页的slug是holiday1
还有一个帖子landing-faq-holiay1
, 它将被插入到登录页中。如果不是,则默认的贴子landing-faq
将插入。
我正在使用以下代码插入\\u内容:
global $post;
$post_slug=$post->post_name;
$faq_id = get_page_by_path( $post_slug, OBJECT, \'land\' )->ID;
$query = new WP_query( array(\'page_id\' => $faq_id) );
if ( $query->have_posts() ) :
while ( $query->have_posts() ) : $query->the_post();
$content = apply_filters(\'the_content\', get_the_content());
?>
<div class="content">
<?php echo $content; ?>
</div>
<?php
endwhile;
endif;
这一切都很好用(为了简单起见,我省略了条件逻辑以返回默认的FAQ帖子),但我逐渐意识到get_page_by_path()
返回整个Post对象。。。包括…在内post_content
. 在这种情况下,而不是单独运行WP_query
我可以这样做吗:
$faq_post = get_page_by_path( $post_slug, OBJECT, \'land\' );
$content = $faq_post->post_content;
??我知道get_template_part()
内置了这个,但在本例中的“部分”必须是一篇文章,客户端可以使用可视化页面生成器插件像编辑其他内容一样编辑该文章。