Mysql Query для замены заголовка поста WP на заголовок поста all_in_one seo - PullRequest
1 голос
/ 13 апреля 2011

Я хочу заменить заголовок сообщения на seo title, если он существует

Я хотел бы включить $wpdb->wp_postmeta.meta_value WHERE $wpdb->wp_postmeta.meta_key = aioseop_title в запрос ниже.
В чем я не уверенкакой код использовать, чтобы найти, существует он или нет.
Для некоторых сообщений aioseop_title не существует.

В идеале я бы хотел каждый раз перечислять post_title и включать $wpdb->wp_postmeta.metavalue, если meta_key = aioseop_title для каждого сообщения.

Что это делает: ниже он находит идентификатор поста для создания карты сайта новостей Google.
То, что я предлагаю выше, будет использовать заголовок seo вместо заголовка поста по умолчанию в wordpress.

$rows = $wpdb->get_results(
  "SELECT 
     $wpdb->posts.ID
     , $wpdb->posts.post_date_gmt
     , $wpdb->posts.post_title
   FROM $wpdb->posts 
   WHERE $wpdb->posts.post_status='publish' 
     AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
     $includeMe
   ORDER BY $wpdb->posts.post_date_gmt DESC
   LIMIT 0, 1000"
);  

1 Ответ

0 голосов
/ 04 мая 2011

Прочитав комментарии, чтобы уточнить, что-то вроде этого возможно?

$rows = $wpdb->get_results(
  "SELECT 
     $wpdb->posts.ID
     , $wpdb->posts.post_date_gmt
     , $wpdb->posts.post_title
     , meta.metavalue
   FROM $wpdb->posts 
   LEFT JOIN $wpdb->wp_postmeta.metavalue AS meta ON meta.post_id = $wpdb->posts.ID AND meta.meta_key = 'aioseop_title'
   WHERE $wpdb->posts.post_status='publish' 
     AND (DATEDIFF(CURDATE(), post_date_gmt)<=30)
     $includeMe
   ORDER BY $wpdb->posts.post_date_gmt DESC
   LIMIT 0, 1000"
);  

За ним следует условие в php, чтобы определить, является ли столбец aioseop (вероятно, $ row ['metavalue']) пустым или нет. Я не достаточно углубился в WordPress, чтобы знать точные названия столбцов, но из того, что вы выделили, это, вероятно, то, что вы ищете. (Кроме того, вам, вероятно, будет проще использовать псевдоним части 'FROM $ wpdb-> posts'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...