Как прописать keywords на страницы вордпресс без плагина
Здравствуйте! Я уже описывал данный вопрос в комментарии: "Замечательный код! Убрал All in One SEO Pack )). Вот только есть одна проблемка,на страницах создаю кейвордс. а он не прописывается. А в остальном все вроде пока отлично работает", но так и не получил в этом рекомендации и решил задать вопрос здесь. Заранее спасибо!
Вот код страницы
<!DOCTYPE html>
<html>
<head>
<title>миссия автора | Блог Сергея Черняева - Покорители мечты</title>
<meta name='description' content='узнайте какая моя миссия как автора данного блога' />
<meta name='robots' content='index,follow' />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="WordPress 3.8.1" /> <!-- leave this for stats please -->
<link rel="stylesheet" href="http://www.industrialist.net.ua/wp-content/themes/azul/style.css" type="text/css" media="screen" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="http://www.industrialist.net.ua/feed" />
<link rel="alternate" type="text/xml" title="RSS .92" href="http://www.industrialist.net.ua/feed/rss" />
<link rel="alternate" type="application/atom+xml" title="Atom 0.3" href="http://www.industrialist.net.ua/feed/atom" />
<link rel="pingback" href="http://www.industrialist.net.ua/xmlrpc.php" />
</head>
<body>
<?php
// А вот код functions
/** метатег keywords:
- Для главной страницы, ключевые слова указываются в функции так: kama_meta_keywords ('слово1, слово2, слово3');
- Также можно вписать ключевые слова во второй параметр, они будут отображаться (добавляться) на всех страницах сайта: kama_meta_keywords ('','');
- Чтобы задать свои keywords для записи, создайте произвольное поле keywords и впишите в значения необходимые ключевые слова. Если такого поля у записи нет, то ключевые слова генерируются из меток и названия категории(й).
- Для страниц меток и категорий ключевые слова указываетются в описании (в настройках, по аналогии с пунком 6 Platinum SEO Pack, см. выше) так: [keywords=слово1, слово2, слово3]
------------------------------------- */
function kama_meta_keywords ($home_keywords='млм, сетевой маркетинг, заработок в интернете',$def_keywords='заработок в интернете'){
global $wp_query,$post;
if ( is_single() && !$out=get_post_meta($post->ID,'keywords',true) ){
$out = '';
$res = wp_get_object_terms( $post->ID, array('post_tag','category'), array('orderby' => 'none') ); // получаем категории и метки
if ($res) foreach ($res as $tag) $out .= " {$tag->name}";
$out = str_replace(' ',', ',trim($out));
$out = "$out $def_keywords";
}
elseif (is_category() || is_tag()){
$desc = $wp_query->queried_object->description;
if ($desc) preg_match ('!\[keywords=(.*)\]!iU',$desc,$match);
$out = $match[1]?$match[1]:'';
$out = "$out $def_keywords";
}
elseif (is_home()){
$out = $home_keywords;
}
if ($out) return print "\n";
return false;
}
?>Не понятно: В записях работает, а на постоянных страницах нет? Посмотрел код, должно вроде работать. Отредактируйте вопрос поясните подробнее пожалуйста.
is_single()замените наis_singular()Вообще, я бы рекомендовал обновить код. На странице где вы брали этот код, он обновлен: http://wp-kama.ru/id_86/sravnenie-seo-plaginov-platinum-seo-pack-i-all-in-one-seo-pack-i-otkaz-ot-nih.html#h3_6
В частности, код для keywords выглядит так:
/** * Генерирует метатег keywords для head части сайта * * Чтобы задать свои keywords для записи, создайте произвольное поле keywords и впишите в значения необходимые ключевые слова. * Для постов (post) ключевые слова генерируются из меток и названия категорий, если не указано произвольное поле keywords. * * Для меток, категорий и произвольных таксономий, ключевые слова указываются в описании, в шоткоде: [keywords=слово1, слово2, слово3] * * @ $home_keywords: Для главной, ключевые слова указываются в первом параметре: kama_meta_keywords( 'слово1, слово2, слово3' ); * @ $def_keywords: сквозные ключевые слова - укажем и они будут прибавляться к остальным на всех страницах * * version 0.2 */ function kama_meta_keywords( $home_keywords = '', $def_keywords = '' ){ global $wp_query, $post; $out = ''; if ( is_front_page() ){ $out = $home_keywords; } elseif( is_singular() ){ $out = get_post_meta($post->ID, 'keywords', true); // для постов указываем ключами метки и категории, если не указаны ключи в произвольном поле if( ! $out && $post->post_type == 'post' ){ $res = wp_get_object_terms( $post->ID, array('post_tag', 'category'), array('orderby' => 'none') ); // получаем категории и метки if( $res ) foreach( $res as $tag ) $out .= ", $tag->name"; $out = ltrim($out, ', '); } } elseif ( is_category() || is_tag() || is_tax() ){ if( $desc = $wp_query->queried_object->description ){ preg_match( '!\[keywords=([^\]]+)\]!iU', $desc, $match ); $out = $match[1] ? $match[1] : ''; } } if( $out && $def_keywords ) $out = $out .', '. $def_keywords; if ( $out ) return print "<meta name=\"keywords\" content=\"$out\" />\n"; return false; }