do_trackbacks

Definition:
function do_trackbacks($post_id) {}

Perform trackbacks.

Parameters

  • int $post_id: Post ID to do trackbacks on.

Defined filters

  • the_content
    apply_filters('the_content', $post->post_content)
  • the_excerpt
    apply_filters('the_excerpt', $post->post_excerpt)
  • the_title
    apply_filters('the_title', $post->post_title, $post->ID)

Source code

function do_trackbacks($post_id) {

	global $wpdb;



	$post = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->posts WHERE ID = %d", $post_id) );

	$to_ping = get_to_ping($post_id);

	$pinged  = get_pung($post_id);

	if ( empty($to_ping) ) {

		$wpdb->update($wpdb->posts, array('to_ping' => ''), array('ID' => $post_id) );

		return;

	}



	if ( empty($post->post_excerpt) )

		$excerpt = apply_filters('the_content', $post->post_content);

	else

		$excerpt = apply_filters('the_excerpt', $post->post_excerpt);

	$excerpt = str_replace(']]>', ']]>', $excerpt);

	$excerpt = wp_html_excerpt($excerpt, 252) . '...';



	$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) ) {

				trackback($tb_ping, $post_title, $excerpt, $post_id);

				$pinged[] = $tb_ping;

			} else {

				$wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s, '')) WHERE ID = %d", $tb_ping, $post_id) );

			}

		}

	}

}

978

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: