Кейворды с помощью полей

Привет народ!

Пытаюсь выводить кейворды с помощью произвольных полей – не выходит, ни фига, каменный цветок…

В хидере вставляю вот этот код:

<meta name="keywords" content="<?php
if (is_single() || is_page() )
{
$text_desc = trim($post_meta_cache[$post->ID]['keywords'][0]);
if ( strlen($text_desc) > 0 ) echo $text_desc;
else echo 'ключевые слова по-молчанию';
}
else echo 'ключевые слова по-молчанию';
?>">

Затем в индексе,хоуме, сингле и пэйдже вместо гет_хидер вставляю это:

<?php
require('./wp-blog-header.php');
require_once('header.php');
 // get_header();
?>

При создании поста создаю поле с ключем keywords и неким значением, НО в коде выводится "ключевые слова по-молчанию" вместо прописанного в поле значения.

В чем может быть загвоздка?

в том, что Макс это для ВП версии 2.0.10 писал.
попробуйте так:

<?php if ( is_single() or is_page() ) { ?>
<?php $keywords = get_post_meta($post->ID, 'keywords', true); if($keywords !== '') { ?><meta name="keywords" content="<?php echo $keywords; ?>" /><?php } ?>
<?php } //end is_single() or is_page() ?>

и в header.php изысков не надо, просто <?php get_header(); ?> хватит.

ещё вариант на примере meta descriprion

<?php $description = get_post_meta($post->ID, 'description', $single = true); ?>
<meta name="description" content="<?php if (is_home()) { echo ('это главная страница и все такое');} elseif (is_category()) { echo ' это страница рубрики'; } elseif (is_single()) { echo $description; } ?>" />
ещё вариант

это – ТЕМА! спасибо !
beer

ещё вариант

сделал по аналогии с Вашим кодом свой вариант вывода тайтлов

<title><?php if (is_home()) { bloginfo('name');} 
elseif (is_category()) { wp_title(); } 
elseif (is_single()) { echo $title; }{ wp_title(); } ?></title>

а то иногда так хочется написать какой-нить эпатирующий заголовок, который с точки зрения поисковиков, не всегда оправдан

вот только при попытке добавить еще

elseif (is_page()) { echo $title; }{ wp_title(); }

выводит ошибку… а жаль!

elseif (is_page()) { echo $title; wp_title(); }

elseif (is_page()) { echo $title; wp_title(); }

тоже выдало ошибку… но все равно – большое спасибо!

ну да не беда – мой "неудачный вариант", почему-то корректно работает и со страницами….

Anonymous
Отправить
Ответ на: