wp_xmlrpc_server::mt_getTrackbackPings()publicWP 1.5.0

Retrieves trackbacks sent to a given post.

Метод класса: wp_xmlrpc_server{}

Хуки из метода

Возвращает

Массив|IXR_Error.

Использование

$wp_xmlrpc_server = new wp_xmlrpc_server();
$wp_xmlrpc_server->mt_getTrackbackPings( $post_id );
$post_id(int) (обязательный)
-

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 1.5.0 Введена.

Код wp_xmlrpc_server::mt_getTrackbackPings() WP 6.6.2

public function mt_getTrackbackPings( $post_id ) {
	global $wpdb;

	/** This action is documented in wp-includes/class-wp-xmlrpc-server.php */
	do_action( 'xmlrpc_call', 'mt.getTrackbackPings', $post_id, $this );

	$actual_post = get_post( $post_id, ARRAY_A );

	if ( ! $actual_post ) {
		return new IXR_Error( 404, __( 'Sorry, no such post.' ) );
	}

	$comments = $wpdb->get_results( $wpdb->prepare( "SELECT comment_author_url, comment_content, comment_author_IP, comment_type FROM $wpdb->comments WHERE comment_post_ID = %d", $post_id ) );

	if ( ! $comments ) {
		return array();
	}

	$trackback_pings = array();
	foreach ( $comments as $comment ) {
		if ( 'trackback' === $comment->comment_type ) {
			$content           = $comment->comment_content;
			$title             = substr( $content, 8, ( strpos( $content, '</strong>' ) - 8 ) );
			$trackback_pings[] = array(
				'pingTitle' => $title,
				'pingURL'   => $comment->comment_author_url,
				'pingIP'    => $comment->comment_author_IP,
			);
		}
	}

	return $trackback_pings;
}