banner

WordPress. Получаем ссылки на посты и их тайтлы

Потребовалось быстро получить ссылку на посты и их тайлы. Не стал искать готовых решений, а просто набросал небольшой Sql запрос.
Данный запрос актуален для ЧПУ /%year%/%postname%/.

SELECT CONCAT('[url=',
CONCAT_WS( '/',  'http://klipner.ru',
EXTRACT( YEAR FROM  `post_date` ) ,  `post_name` ) ,']', `post_title`,'[/URL]')
FROM  `wp_posts` 
WHERE  `post_type` =  'post' AND  `post_status` =  'publish'

Этот код достаточно закинуть в раздел экспорта в phpmyadmin и указать CSV формат, на выходе получите текстовую информацию.
На выходе получаем:
[url=http://klipner.ru/2008/post]Post name[/URL]

  • http://seomagic.biz algorithm

    А если адреса имеют вид http://klipner.ru/%postname%/ то будет так
    SELECT CONCAT(‘[url=',
    CONCAT_WS( '/', 'http://klipner.ru',
    EXTRACT( `post_name` ) ,']‘, `post_title`,’[/URL]‘)
    FROM `wp_posts`
    WHERE `post_type` = ‘post’ AND `post_status` = ‘publish’
    Или как-то иначе?

  • http://klipner.ru rushter

    без EXTRACT(), просто `post_name`