为meta关键字内容使用帖子标记

时间:2010-02-20 15:01:16

标签: wordpress

似乎这应该是超级简单的,但我找不到合适的API函数来使其工作......

我想使用帖子标记来填充关键字元素内容...

<meta name="keywords" content="tags from post go here seperated by commas">

我试过这个,但它会创建每个帖子标记的链接列表......

<meta name="keywords" content="<?php echo the_tags('',' , '); ?>" />

5 个答案:

答案 0 :(得分:2)

尝试类似:

<?php
  $postTags = get_the_tags();
  $tagNames = array();
  foreach($postTags as $tag) {
    $tagNames[] = $tag->name;
  }
?>

<meta name="keywords" content="<?php echo implode($tagNames,","); ?>" />

答案 1 :(得分:1)

您需要使用模板函数get_the_tags来获取数据,而不是让WordPress为您输出。然后,您可以遍历此数组并输出列表,但是您希望:

<?php
if ( $posttags = get_the_tags() ) {
    foreach($posttags as $tag)
        echo $tag->name . ' '; 
}
?>

答案 2 :(得分:0)

the_tags()会自动显示每个帖子标记的链接。您可以使用get_the_tags()返回一个标记对象数组,然后您可以循环访问它并获取标记的名称。

答案 3 :(得分:0)

你可以试试这个:

<meta name="keywords" content="<?php if(is_single()) {
        $metatags = get_the_tags($post->ID);
        foreach ($metatags as $tagpost) {
            $mymetatag = apply_filters('the_tags',$tagpost->name);
            $keyword = utf8_decode($mymetatag); // Your filters...
            echo $keyword.",";
        }
    }
    ?>your,key,words" />

答案 4 :(得分:0)

Oneline warmerant for amercader version。

<?php if ( $postTags = get_the_tags() ) : $tagNames = array(); foreach($postTags as $tag) $tagNames[] = $tag->name; ?> <meta name="keywords" content="<?php echo implode($tagNames,","); ?>" /> <?php endif; ?>