gpt4 book ai didi

php - 可湿性粉剂; get_sidebar 在内部循环查询页面时不能很好地使用 get_content

转载 作者:搜寻专家 更新时间:2023-10-31 21:26:11 25 4
gpt4 key购买 nike

所以我希望标题不会太困惑,让我试着把它分解一下。

我有一个 content-page.php 文件,其中包含 get_content 和 get_sidebar 函数。如果我在前端导航到该页面,我会同时看到我的内容和侧边栏。

在 home.php 页面上,我使用 $the_query = new WP_Query 加载了一系列页面,然后在该查询中使用循环并在该循环内调用内容页面.php.

问题是,如果在 home.php 页面上加载的页面有侧边栏,由于某种原因,侧边栏之后没有加载任何内容,即。 get_content() 不返回任何内容,comments_template() 不返回任何内容,等等。

这是标记的(非常)简化版本,主页:

$the_query = new WP_Query( array(
'post_type' => 'page'));
$x = 0;
while ( $the_query->have_posts() ) :
$the_query->the_post();

get_template_part( 'content', 'page' );

$x++;
endwhile;
wp_reset_query();

内容页面.php:

<article <?php post_class(); ?>>  
<header>
<h1><?php the_title(); ?></h1>
</header>

<div class="entry-content">
<?php include( TEMPLATEPATH . '/sidebar.php'); ?>
<?php the_content(); ?>
</div><!-- .entry-content -->
</article><!-- #post-<?php the_ID(); ?> -->

侧边栏.php:

<div id="secondary" class="widget-area" role="complementary">
<?php do_action( 'before_sidebar' );
dynamic_sidebar( 'sidebar-1' ); ?>
</div><!-- #secondary .widget-area -->

我在这里明显遗漏了什么吗?在这方面工作了一段时间。一如既往,非常感谢任何帮助。

最佳答案

WordPress 中有两种通用的循环查询:

  1. 主查询,根据HTTP请求设置,
  2. 可以更改主查询的“子循环”。

因为主查询控制很多东西,比如“有侧边栏吗?”或者“应该使用什么页面模板?”您只能提交其中一种类型。您不能从子循环中调用单独的侧边栏(或为此调用单独的页面模板)。为此,您必须重新构建基本的 WordPress 侧边栏系统。

我认为,对于您正在尝试做的事情,最好的选择是只提供某种动态内容并将其称为侧边栏。换句话说,WordPress 在第一次调用侧边栏时就已经决定了它会发生什么。系统没有默认方式来处理一遍又一遍地调用边栏。在子循环的每次迭代后使用短代码或过滤器将是更好的方法。

关于php - 可湿性粉剂; get_sidebar 在内部循环查询页面时不能很好地使用 get_content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35714099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com