函数文档

in_the_loop()

💡 云策文档标注

概述

in_the_loop() 是一个 WordPress 条件函数,用于检查当前代码执行是否在主循环(The Loop)内部。它返回布尔值,帮助开发者基于循环状态进行条件控制。

关键要点

  • 函数返回 bool 类型:true 表示在循环内,false 表示循环未开始或已结束。
  • 内部实现依赖于全局变量 $wp_query 的 in_the_loop 属性。
  • 常用于主题开发中,结合其他条件标签(如 is_singular())来修改循环内的内容输出。

代码示例

function wpdocs_modify_single_post_entry_titles( $title ) {

	if ( is_singular( 'post' ) && in_the_loop() ) {
		/* Modify $title */
	}

	return $title;
}
add_filter( 'the_title', 'wpdocs_modify_single_post_entry_titles' );

📄 原文内容

Determines whether the caller is in the Loop.

Description

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.

Return

bool True if caller is within loop, false if loop hasn’t started or ended.

Source

function in_the_loop() {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		return false;
	}

	return $wp_query->in_the_loop;
}

Changelog

Version Description
2.0.0 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Modify Single Post Entry Titles

    For use in your functions file, this code example enables you to modify the default output of your entry titles.

    function wpdocs_modify_single_post_entry_titles( $title ) {
    
    	if ( is_singular( 'post' ) && in_the_loop() ) {
    		/* Modify $title */
    	}
    
    	return $title;
    }
    add_filter( 'the_title', 'wpdocs_modify_single_post_entry_titles' );