More news on the WordPress trackback issue

In my WordPress Trac Ticket concerning the WordPress teams preference of pingbacks over trackbacks, I went ahead and reopened the ticket with the following complaint.

I’m going to go ahead and disagree with you completely on this. You say “More contextual”, I say “More nonsensical”. It just doesn’t work the way you think it does in practice, maybe in theory but not in actual use of the software. With a trackback you get a purposeful summary (the first few words of the post) with a pingback you get partial sentences and a few words that just happened to surround the link to your blog.

It may “handle international encoding better” but why not make trackbacks do the same?

I can understand how they are more “spam resistant”, I’ll give you that one (one out of four isn’t so hot though). With new spam suppression software available I don’t see this as much of a problem.

“Better link text”? No. Adding the post title to the link doesn’t look as nice as trackbacks Blog name followed by an unlinked post title. The trackback way is much preferred.

It seems that some people are using my fix of switching the code in execute-pings.php so that trackbacks go out first.

// Do Enclosures
while ($enclosure = $wpdb->get_row(”SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = ‘_encloseme’ LIMIT 1″)) {
$wpdb->query(”DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = ‘_encloseme’;”);
do_enclose($enclosure->post_content, $enclosure->ID);
// Do Trackbacks
$trackbacks = $wpdb->get_results(”SELECT ID FROM $wpdb->posts WHERE CHAR_LENGTH(TRIM(to_ping)) > 7 AND post_status != ‘draft’”);
if ( is_array($trackbacks) ) {
foreach ( $trackbacks as $trackback ) {
// Do pingbacks
while ($ping = $wpdb->get_row(”SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = ‘_pingme’ LIMIT 1″)) {
$wpdb->query(”DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = ‘_pingme’;”);
pingback($ping->post_content, $ping->ID);

Thanks for listening. I’m just politely disagreeing with you and letting you know that I’m not the only one that feels this way about it.

Anyone wanting to try this out can download execute-pings.php here.

You may then test this out by using this post. If you include a trackback and a ping back the trackback will be sent out first ensuring its reception.

This post is considered “Open Trackback” with no time limits.

Linked to:
The Crazy Rants of Samantha Burns
Diane’s Stuff (twice) Sorry Diane (I always do that to her).


  1. Pingback: MacBros' Place
  2. Pingback: Stray Dog Found
  3. Pingback: MacBros' Place

Comments are closed.