函数文档

do_all_pingbacks()

💡 云策文档标注

概述

do_all_pingbacks() 函数用于执行所有待处理的 pingback 操作。它通过查询带有特定元数据的文章,并逐一调用 pingback() 函数来实现。

关键要点

  • 函数通过 get_posts() 查询所有文章类型中带有 '_pingme' 元键的文章 ID。
  • 在循环中,先使用 delete_post_meta() 删除 '_pingme' 元数据,然后调用 pingback() 执行 pingback。
  • 此函数自 WordPress 5.6.0 版本引入。

代码示例

function do_all_pingbacks() {
    $pings = get_posts(
        array(
            'post_type'        => get_post_types(),
            'suppress_filters' => false,
            'nopaging'         => true,
            'meta_key'         => '_pingme',
            'fields'           => 'ids',
        )
    );

    foreach ( $pings as $ping ) {
        delete_post_meta( $ping, '_pingme' );
        pingback( null, $ping );
    }
}

注意事项

  • 函数使用 get_posts() 并设置 'suppress_filters' => false 以允许过滤器修改查询。
  • pingback() 函数需要传入文章 ID 作为参数,第一个参数为 null 表示使用默认设置。

📄 原文内容

Performs all pingbacks.

Source

function do_all_pingbacks() {
	$pings = get_posts(
		array(
			'post_type'        => get_post_types(),
			'suppress_filters' => false,
			'nopaging'         => true,
			'meta_key'         => '_pingme',
			'fields'           => 'ids',
		)
	);

	foreach ( $pings as $ping ) {
		delete_post_meta( $ping, '_pingme' );
		pingback( null, $ping );
	}
}

Changelog

Version Description
5.6.0 Introduced.