Title: do_trackbacks
Published: April 25, 2014
Last modified: February 24, 2026

---

# do_trackbacks( int|WP_Post $post ): void|false

## In this article

 * [Parameters](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#parameters)
 * [Return](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#return)
 * [Source](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#source)
 * [Hooks](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#hooks)
 * [Related](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#wp--skip-link--target)

Performs trackbacks.

## 󠀁[Parameters](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#parameters)󠁿

 `$post`int|[WP_Post](https://developer.wordpress.org/reference/classes/wp_post/)
required

Post ID or object to do trackbacks on.

## 󠀁[Return](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#return)󠁿

 void|false Returns false on failure.

## 󠀁[Source](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#source)󠁿

    ```php
    function do_trackbacks( $post ) {
    	global $wpdb;

    	$post = get_post( $post );

    	if ( ! $post ) {
    		return false;
    	}

    	$to_ping = get_to_ping( $post );
    	$pinged  = get_pung( $post );

    	if ( empty( $to_ping ) ) {
    		$wpdb->update( $wpdb->posts, array( 'to_ping' => '' ), array( 'ID' => $post->ID ) );
    		return;
    	}

    	if ( empty( $post->post_excerpt ) ) {
    		/** This filter is documented in wp-includes/post-template.php */
    		$excerpt = apply_filters( 'the_content', $post->post_content, $post->ID );
    	} else {
    		/** This filter is documented in wp-includes/post-template.php */
    		$excerpt = apply_filters( 'the_excerpt', $post->post_excerpt );
    	}

    	$excerpt = str_replace( ']]>', ']]&gt;', $excerpt );
    	$excerpt = wp_html_excerpt( $excerpt, 252, '&#8230;' );

    	/** This filter is documented in wp-includes/post-template.php */
    	$post_title = apply_filters( 'the_title', $post->post_title, $post->ID );
    	$post_title = strip_tags( $post_title );

    	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 {
    			$wpdb->query(
    				$wpdb->prepare(
    					"UPDATE $wpdb->posts SET to_ping = TRIM(REPLACE(to_ping, %s, '')) WHERE ID = %d",
    					$tb_ping,
    					$post->ID
    				)
    			);
    		}
    	}
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/comment.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/comment.php#L3091)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/comment.php#L3091-L3138)

## 󠀁[Hooks](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#hooks)󠁿

 [apply_filters( ‘the_content’, string $content )](https://developer.wordpress.org/reference/hooks/the_content/)

Filters the post content.

 [apply_filters( ‘the_excerpt’, string $post_excerpt )](https://developer.wordpress.org/reference/hooks/the_excerpt/)

Filters the displayed post excerpt.

 [apply_filters( ‘the_title’, string $post_title, int $post_id )](https://developer.wordpress.org/reference/hooks/the_title/)

Filters the post title.

## 󠀁[Related](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#related)󠁿

| Uses | Description | 
| [wp_html_excerpt()](https://developer.wordpress.org/reference/functions/wp_html_excerpt/)`wp-includes/formatting.php` |

Safely extracts not more than the first $count characters from HTML string.

  | 
| [get_to_ping()](https://developer.wordpress.org/reference/functions/get_to_ping/)`wp-includes/post.php` |

Retrieves URLs that need to be pinged.

  | 
| [get_pung()](https://developer.wordpress.org/reference/functions/get_pung/)`wp-includes/post.php` |

Retrieves URLs already pinged for a post.

  | 
| [wpdb::update()](https://developer.wordpress.org/reference/classes/wpdb/update/)`wp-includes/class-wpdb.php` |

Updates a row in the table.

  | 
| [wpdb::query()](https://developer.wordpress.org/reference/classes/wpdb/query/)`wp-includes/class-wpdb.php` |

Performs a database query, using current database connection.

  | 
| [trackback()](https://developer.wordpress.org/reference/functions/trackback/)`wp-includes/comment.php` |

Sends a Trackback.

  | 
| [apply_filters()](https://developer.wordpress.org/reference/functions/apply_filters/)`wp-includes/plugin.php` |

Calls the callback functions that have been added to a filter hook.

  | 
| [get_post()](https://developer.wordpress.org/reference/functions/get_post/)`wp-includes/post.php` |

Retrieves post data given a post ID or post object.

  | 
| [wpdb::prepare()](https://developer.wordpress.org/reference/classes/wpdb/prepare/)`wp-includes/class-wpdb.php` |

Prepares a SQL query for safe execution.

  |

[Show 4 more](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#)

| Used by | Description | 
| [do_all_trackbacks()](https://developer.wordpress.org/reference/functions/do_all_trackbacks/)`wp-includes/comment.php` |

Performs all trackbacks.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/functions/do_trackbacks/?output_format=md#changelog)󠁿

| Version | Description | 
| [4.7.0](https://developer.wordpress.org/reference/since/4.7.0/) | `$post` can be a [WP_Post](https://developer.wordpress.org/reference/classes/wp_post/) object. | 
| [1.5.0](https://developer.wordpress.org/reference/since/1.5.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Ffunctions%2Fdo_trackbacks%2F)
before being able to contribute a note or feedback.