Использование данных плагина All in One SEO Pack

Использование данных плагина All in One SEO Pack

Вдогонку к статье о плагине All in One SEO Pack расскажу, как использовать данные этого плагина (заголовки) в плагинах Dagon Design Sitemap Generator и PS Auto Sitemap (в генерируемых картах сайта этих плагинов будут использованы заголовки, прописанные вами в плагине All in One SEO Pack).

1 Dagon Design Sitemap Generator

Откройте файл плагина sitemap-generator.php и найдите строчку:

573
$t_out .= '<li><a href="' . get_permalink($post_data[$p]['id']) . '"';

Вставьте перед этой строчкой код:

572
573
574
$mytitle = htmlspecialchars(stripcslashes(
get_post_meta($post_data[$p]['id'], '_aioseop_title', true)));
if ($mytitle != '') {$the_title = $mytitle;}

Этот код сработает только для записей, а для страниц надо сделать еще одно небольшое изменение в файле sitemap-generator.php. Найдите строчку:

469
$t_out .= '<li><a href="' . get_permalink($page_data[$p]['id']) . '"';

Вставьте перед этой строчкой код:

468
469
470
$mytitle = htmlspecialchars(stripcslashes(
get_post_meta($page_data[$p]['id'], '_aioseop_title', true)));
if ($mytitle != '') {$the_title = $mytitle;}

Собственно, на этом все - теперь в карте сайта от плагина Dagon Design Sitemap Generator будут выводиться заголовки, прописанные вами в плагине All in One SEO Pack. Если вы не прописывали для какой-то записи или страницы заголовок, то будет использован обычный заголовок.

2 PS Auto Sitemap

Откройте файл плагина ps_auto_sitemap.php и найдите строчку:

233
foreach( $category_posts as $post ) {

Вставьте после нее код:

234
235
236
$mytitle = htmlspecialchars(stripcslashes(
get_post_meta($post['ID'], '_aioseop_title', true)));
if ($mytitle != '') {$post['post_title'] = $mytitle;}

Не забудьте, что если в этом плагине вы используете кэширование, то результаты вы сможете увидеть, только удалив файл кэша.

Такими нехитрыми хаками можно заставить эти два плагина выводить заголовки из любого другого SEO-плагина тоже. Вам достаточно лишь поменять в коде имя произвольного поля "_aioseop_title" на используемое в вашем плагине.

SEO-заголовки в RSS-ленте

Данные из All in One SEO Pack можно использовать не только в плагинах карт сайта. Например, можно генерировать RSS-ленту блога с заголовками, прописанными в All in One SEO Pack. Я об этом уже писал, но там решение было не слишком удачным, так как использовался хак движка, а хакать движок не самая лучшая идея. Так что приведу пример нормального хака, который реализуется через добавление в файл шаблона functions.php кода:

//выводим полный заголовок из All in One SEO Pack в RSS start
function custom_title_rss($content) {
global $wp_query;
$postid = $wp_query->post->ID;
$rsstitle = get_post_meta($postid, '_aioseop_title', true);
if($rsstitle != '') {
	$content = htmlspecialchars(stripcslashes($rsstitle));
}
return $content;
}
add_filter('the_title_rss', 'custom_title_rss');
//выводим полный заголовок из All in One SEO Pack в RSS end

И опять же, этот код можно заставить работать с любым другим SEO-плагином, если изменить имя произвольного поля на используемое этим плагином.

Оба описанных хака я использую на этом сайте – и в карте сайта и в RSS-ленте у меня выводятся полные SEO-заголовки.

Понравился пост? Подпишись на обновления по Обновления блога по RSSRSS или Обновления блога на TwitterTwitter !

Комментарии (всего 15 комментариев)
Написать комментарий

(обязательно)

(обязательно, не публикуется)

Для вставки кода используйте кнопку "Код", по умолчанию используется синтаксис подсветки языка "php", вы можете поменять его на любой другой поддерживаемый GeSHi язык, например "javascript", "css", "html4strict", "sql" и тд. Используйте предпросмотр!
 


Подписаться на уведомления без комментирования.