Advertisement
kkarpieszuk

icl_translations - find rows where language_code is not set

Mar 17th, 2014
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.92 KB | None | 0 0
  1. <?php
  2.     global $wpdb;
  3.     $sql = "
  4.   SELECT
  5.    p.ID, p.post_title
  6.   FROM {$wpdb->posts} p
  7.    LEFT JOIN {$wpdb->prefix}icl_translations t
  8.    on p.ID = t.element_id AND t.element_type = concat('post_' , p.post_type)
  9.    WHERE t.language_code = '' AND NOT post_status IN ('auto-draft') AND NOT post_type IN ('revision')
  10.    ";
  11.      
  12.     $orphans = $wpdb->get_results($sql);
  13.      
  14.     if($orphans) {
  15.             echo '<h2>Orphan posts:</h2>';
  16.             echo '<ul>';
  17.             foreach ( $orphans as $orphan ) {
  18.                     $url = get_edit_post_link( $orphan->ID );
  19.      
  20.                     echo '<li>';
  21.                     echo '<a href="' . $url . '" target="_blank">';
  22.                     echo $orphan->post_title;
  23.                     echo '</a>';
  24.                     echo '</li>';
  25.             }
  26.             echo '</ul>';
  27.     } else {
  28.             echo '<h2>No orphan posts!</h2>';
  29.     }
  30.      
  31.     ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement