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. |