Make WordPress Core

Ticket #2088: pingonce.diff

File pingonce.diff, 2.5 KB (added by skeltoac, 19 years ago)
  • wp-admin/execute-pings.php

     
    77function execute_all_pings() {
    88        global $wpdb;
    99        // Do pingbacks
    10         if($pings = $wpdb->get_results("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_pingme';")) {
    11                 foreach($pings as $ping) {
    12                         pingback($ping->post_content, $ping->ID);
    13                         echo "Pingback: $ping->post_title : $ping->ID<br/>";
    14                         $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
    15                 }
     10        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")) {
     11                $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$ping->ID} AND meta_key = '_pingme';");
     12                pingback($ping->post_content, $ping->ID);
     13                echo "Pingback: $ping->post_title : $ping->ID<br/>";
    1614        }
    1715        // Do Enclosures
    18         if($enclosures = $wpdb->get_results("SELECT * FROM {$wpdb->posts}, {$wpdb->postmeta} WHERE {$wpdb->posts}.ID = {$wpdb->postmeta}.post_id AND {$wpdb->postmeta}.meta_key = '_encloseme';")) {
    19                 foreach($enclosures as $enclosure) {
    20                         do_enclose($enclosure->post_content, $enclosure->ID);
    21                         echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>";
    22                         $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
    23                 }
     16        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")) {
     17                $wpdb->query("DELETE FROM {$wpdb->postmeta} WHERE post_id = {$enclosure->ID} AND meta_key = '_encloseme';");
     18                do_enclose($enclosure->post_content, $enclosure->ID);
     19                echo "Enclosure: $enclosure->post_title : $enclosure->ID<br/>";
    2420        }
    2521        // Do Trackbacks
    26         if($trackbacks = $wpdb->get_results("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft'")) {
    27                 foreach($trackbacks as $trackback) {
    28                         echo "Trackback : $trackback->ID<br/>";
    29                         do_trackbacks($trackback->ID);
    30                 }
     22        while ($trackback = $wpdb->get_row("SELECT ID FROM $wpdb->posts WHERE TRIM(to_ping) != '' AND post_status != 'draft' LIMIT 1")) {
     23                echo "Trackback : $trackback->ID<br/>";
     24                do_trackbacks($trackback->ID);
    3125        }
    3226}
    3327