Questions tagged «loop»

循环是WordPress查询的核心,它提供了一种简便的方法来访问帖子信息并将其显示在您的网站上。

5
如何修复自定义循环的分页?
我已经在模板文件/自定义页面模板中添加了自定义/辅助查询;如何使WordPress使用我的自定义查询进行分页,而不是使用主查询循环的分页? 附录 我已经通过修改了主循环查询query_posts()。为什么分页不起作用,如何解决?
122 loop  pagination  query 

7
如何获取当前页面的URL显示?
我想添加自定义PHP代码,以确保每当我浏览器中加载网站上的页面时,该页面的URL都会回显到屏幕上。我可以使用echo get_permalink(),但不能在所有页面上使用。有些页面(例如,我的主页)显示多个帖子,如果我get_permalink()在这些页面上使用,则不会返回所显示页面的URL(我相信它会返回循环中最后一个帖子的URL)。对于这些页面,如何返回URL? 我可以附加get_permalink()到执行循环之前触发的特定挂钩吗?还是可以以某种方式打破循环,或在完成后将其重置? 谢谢。
55 php  loop  permalinks  urls 

5
分页不适用于自定义循环
我有一个自定义循环,用于显示一些房地产列表,这些列表将在60天内可用。我用以下功能调用它: <?php $sixtydays = date('Y/m/d', strtotime('+60 days')); $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query = new PostsOrderedByMetaQuery(array( 'post_type' => array('post', 'real-estate'), 'meta_key' => 'Time Available', 'meta_compare' => '<=', 'meta_value' => $sixtydays, 'paged' => $paged, 'orderby_meta_key' => 'Price', 'orderby_order' => 'ASC' )); ?> <?php while ($query->have_posts()) : $query->the_post(); ?> 虽然循环效果很好,但我无法对其进行分页。它显示前10个(我的默认设置)帖子,但不显示分页。显示所有帖子的唯一方法是通过'posts_per_page' …

2
计数自定义Wordpress循环(WP_Query)的帖子?
我试图取代这个: <?php $count = count($custom_posts); ?> <h2><?php echo $count; ?></h2> 在循环结束时: <?php if ( bbp_get_forum_title() == 'Test Forum 1' ) : ?> <?php $custom_posts = new WP_Query(); ?> <?php $custom_posts->query('post_type=blocks&location=Business and Finance&order=DESC'); ?> <?php while ($custom_posts->have_posts()) : $custom_posts->the_post(); ?> <div class="ad"> <?php the_content(); ?> </div> <?php $count = count($custom_posts); ?> …
41 loop 

9
在循环外使用get_the_excerpt获取摘录
我有一个可以调用的代码,get_the_title()它可以工作,但是get_the_excerpt()返回空。我该如何运作? 该代码位于名为“ WP Facebook Open Graph protocol”的插件中。这是我要更改的部分: if (is_singular('post')) { if (has_excerpt($post->ID)) { echo "\t<meta property='og:description' content='".esc_attr(strip_tags(get_the_excerpt($post->ID)))."' />\n"; }else{ echo "\t<meta property='og:description' content='". [?] ."' />\n"; } }else{ echo "\t<meta property='og:description' content='".get_bloginfo('description')."' />\n"; } 在这里,has_excerpt总是失败,并且get_the_excerpt($post->ID)不再工作了(已弃用)。 那么,我如何在那显示摘录? ps:我也在使用“高级摘录”插件
31 loop  excerpt 

3
我可以强制WP_Query不返回任何结果吗?
我正在使用一个具有搜索功能的网站,该功能允许用户搜索大量帖子元。有一种特定的搜索模式,我想强制不返回任何结果。从技术上讲WP_Query会在数据库中找到结果,但是我想以某种方式覆盖它,以强制它不返回任何结果以触发if( $example->have_posts() )失败。 我可以将某种参数传递给WP_Query,那样'force_no_results' => true会迫使它不返回任何结果?
23 wp-query  loop  search 

3
如果(is_home()&&!is_front_page())
我在index.php文件中经常看到以下代码。我了解is_front_page()在查看网站首页(无论显示博客帖子索引还是静态页面)时is_home()返回true ,而在查看博客帖子索引(无论显示在首页还是静态页面上)时返回true。对于以下代码的使用,我仍然有些困惑- <?php if ( have_posts() ) : ?> <?php if ( is_home() && ! is_front_page() ) : ?> <header> <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> </header> <?php endif; ?> 对于为什么这段代码如此受欢迎的任何解释,都将受到赞赏。
23 loop  themes  templates 

3
拆分内容和库
有没有办法拆分帖子内容和画廊短代码。我想无论其放置方式或位置如何,都将画廊显示在正常内容之外。我可以使用它来获取简码本身: if(has_shortcode(get_the_content(), 'gallery')){ $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); echo do_shortcode($matches[0]); } 但是,如果画廊短代码不是第一个实例,这将不起作用。有没有办法完全拆分我的内容和画廊? 编辑:我有一个半解决方案,但这似乎是一条漫长的路要走。它首先获取帖子中的第一个短代码(由于我只希望使用“图库”短代码,因此需要对其进行修复),然后从内容中删除所有短代码(同样,并不是我真正想做的事情)。 <?php if(has_shortcode(get_the_content(), 'gallery')) : ?> <?php $pattern = get_shortcode_regex(); preg_match("/$pattern/s", get_the_content(), $matches); ?> <div id="content"> <?php echo strip_shortcodes(get_the_content()); ?> </div> <div id="gallery"> <?php echo do_shortcode($matches[0]); ?> </div> <?php endif; ?> 编辑#2-好吧,我只能在帖子中获取图库的短代码。我还添加了一个过滤器来删除画廊的短代码形式the_content()-问题是它并不一定要删除短代码,因为它确实发布了它,但不允许我运行“ do_shortcode()” Functions.php function remove_gallery($content) { …

4
我为什么要放if(have_posts()),而while(have_posts())还不够?
我对“循环”有疑问。 <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?> 代码取自The Loop WordPress Codex页面。 我为什么要if参加?好像有while循环,工作正常。 如果没有if声明,在什么情况下会出现问题? 编辑 我接受@Chip的回答。但老实说我只需要最后一部分。 我现在知道我想从我的问题中学到什么。 if仅当需要放置仅应写入一次的页眉或页脚时,才需要使用该语句。如果您不使用“包装器”,则if无需声明。
22 loop 



1
我们是否应该信任全球岗位?
@toscho对这个答案发表了评论,这让我再次思考。我们应该在全球范围内获得多少信任,特别是对于像post globals这样的人$post? 所以呢?全局变量可以在检查运行之前被所有人覆盖。这就是全局变量的意义:全局访问。 $post例如,可以肯定是全局变量之一,该全局变量通常在主题本身内或通过插件进行了修改。但是,它还是给定模板内其他应用程序中最常用的全局设置,例如,用于设置相关帖子。 通过回答(和评论)由使用自定义查询引起的特定问题的多个帖子,实际上可以看出,大多数问题是由于未重置自定义查询引起的(自定义查询会更改主查询设置的全局变量)。 由此可见,这$post是不可靠的。使用自定义查询的任何编写不当的代码段都可以更改$post全局,这反过来会破坏某些内容(如相关文章)。 实际上,只有少数WordPress开发人员对核心的内部运作足够了解,并且知道应该避免什么,不应该避免什么。越来越多的用户不知道WordPress核心如何运行。 他们只是下载主题并安装插件即可完成所需的工作,甚至只是从教程中复制代码即可。假设他们安装了一个写得不好的插件,该插件会在单个帖子上打断相关帖子,那么他们怎么知道是什么原因造成的?他们将能够自己解决问题,还是他们是第一百个人就此问题写信给主题作者或在该网站上发布问题? 我的问题:当全局变量$post如此不可靠时,如何防止其他导入的代码引起的此类问题?我们是否应该使用全局性的$post?有哪些选择? 在总结之前,请在这里分享我的想法:我已经考虑过(或者在某些主题和插件中也看到过)使用wp_reset_postdata()或使用wp_reset_query()之前的情况$post,以确保将全局设置重置为主查询的$post。但是为什么我应该在主题中添加代码,因为其他人没有正确地为其插件编写代码?而且,如果有人确实重置了自定义查询,则该操作将不必要地第二次运行,这是不好的。 我想到的第二种方法是先使用,$wp_query然后再使用其方法,例如$wp_query->post。 任何对此的想法将不胜感激。

1
如何在存档模板中为每个帖子而不是the_excerpt()显示Yoast SEO元描述?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为WordPress Development Stack Exchange 的主题。 5年前关闭。 我读了这个问题,但这不是我要找的东西。我是Wordpress的新手,对功能和所有内容都有些困惑。 如何在每个帖子的循环中获得元描述? 谢谢 !

2
将发布数据重置为嵌套循环中的上一个循环
我正在尝试对嵌套插件使用嵌套循环。循环都可以,但是问题是在第二个嵌套循环($ issue)之后出现的。我想再次访问$ publication循环,但是数据仍然是$ issue数据。 wp_reset_query() 会立即重置为我不想使用的single.php中的主循环。 我可以使用get_posts()而不是新的WP_Query,但是我希望能够使用get_template_part()。 如何将我的数据重置回发布循环,以便第二个“出版物标题”返回出版物,而不是出版物标题? 这是我在single.php中的代码: $publication = new WP_Query( array( 'connected_type' => 'publication_to_post', 'connected_items' => $post->ID, 'fields' => 'ids', 'posts_per_page' => 1, ) ); if ( $publication->have_posts() ) { while ( $publication->have_posts() ) : $publication->the_post(); echo '<h2>Publication title = '.get_the_title().'</h2>'; $pub_id = get_the_ID(); $issue = new …
21 wp-query  loop  reset 

2
使用get_pages在WordPress中仅获取直接子页面
我正在尝试获取页面的所有直接子级。但是我也得到了所有的孩子和大孩子。有任何想法吗? PHP资料来源: $args = array( 'child_of' => $post->ID, 'parent ' => $post->ID, 'hierarchical' => 0, 'sort_column' => 'menu_order', 'sort_order' => 'asc' ); $mypages = get_pages( $args ); foreach( $mypages as $post ) { $post_tempalte = the_page_template_part(); get_template_part( 'content' , $post_tempalte ); } $args根据文档,我应该是正确的,但是它完全忽略了parent和hierarchical。 我的页面结构如下: 父母 -儿童1 -儿童2 --Child 1胎2 --Child …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.