do_trackbacks()
最后更新于:2021-11-26 03:59:11
do_trackbacks( int|GC_Post$post_id)Perform trackbacks.
参数
- $post_id
-
(int|GC_Post) (Required) Post object or ID to do trackbacks on.
源文件
文件: gc-includes/comment.php
function do_trackbacks( $post_id ) {
global $gcdb;
$post = get_post( $post_id );
if ( ! $post ) {
return false;
}
$to_ping = get_to_ping( $post );
$pinged = get_pung( $post );
if ( empty( $to_ping ) ) {
$gcdb->update( $gcdb->posts, array( 'to_ping' => '' ), array( 'ID' => $post->ID ) );
return;
}
if ( empty( $post->post_excerpt ) ) {
/** This filter is documented in gc-includes/post-template.php */
$excerpt = apply_filters( 'the_content', $post->post_content, $post->ID );
} else {
/** This filter is documented in gc-includes/post-template.php */
$excerpt = apply_filters( 'the_excerpt', $post->post_excerpt );
}
$excerpt = str_replace( ']]>', ']]>', $excerpt );
$excerpt = gc_html_excerpt( $excerpt, 252, '…' );
/** This filter is documented in gc-includes/post-template.php */
$post_title = apply_filters( 'the_title', $post->post_title, $post->ID );
$post_title = strip_tags( $post_title );
if ( $to_ping ) {
foreach ( (array) $to_ping as $tb_ping ) {
$tb_ping = trim( $tb_ping );
if ( ! in_array( $tb_ping, $pinged, true ) ) {
trackback( $tb_ping, $post_title, $excerpt, $post->ID );
$pinged[] = $tb_ping;
} else {
$gcdb->query(
$gcdb->prepare(
"UPDATE $gcdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s,
'')) WHERE ID = %d",
$tb_ping,
$post->ID
)
);
}
}
}
}