Кнопка «Мне нравится» на Facebook, Open Graph, метатеги и несколько постов в Wordpress - PullRequest
0 голосов
/ 09 мая 2011

У меня есть WordPress сайт с похожими кнопками, которые генерируются для каждого поста, и в качестве URL указывается the_permalink. Я установил стандартные теги opengraph в заголовке шаблона, но, конечно, проблема в том, что каждая кнопка «Мне нравится» будет публиковать одинаковые заголовок, описание, изображение и т. Д.

Проблема заключается в том, что я не могу установить теги в цикле, потому что мета-теги должны быть в заголовке?

Есть ли решение этой проблемы? Я перепробовал несколько плагинов, но все они кажутся слишком сложными и их трудно правильно разместить в шаблоне.

1 Ответ

1 голос
/ 09 мая 2011

Полагаю, вы могли бы выполнить одно из следующих действий:
1- Поместите метатеги в заголовок вручную:

<meta property="fb:admins" content="XXXXXXX"/>
<meta property="og:site_name" content="Example.com"/>
<meta property="og:image" content="http://www.example.com/image.png"/>
<?php if (is_front_page()) : ?>
<meta property="og:type" content="blog"/>
<meta property="og:description" content="test test test test"/>
<meta property="og:title" content="My title"/>
<meta property="og:url" content="<?php echo get_bloginfo('home'); ?>"/>
<?php elseif (is_single() || is_page()) : ?>
<meta property="og:type" content="article"/>
<meta property="og:title" content="<?php echo trim(wp_title('', false)); ?>"/>
<meta property="og:url" content="<?php echo get_permalink(); ?>"/>
<?php elseif (!is_front_page() && !is_single() && !is_page()) : ?>
<meta property="og:title" content="<?php echo trim(wp_title('', false)); ?>"/>
<?php endif ?>

Или, если вы хотите использовать хуки (functions.php):

add_action('wp_head', 'add_og_meta_tags');
function add_og_meta_tags() {
echo '<meta property="fb:admins" content="XXXXXXX"/>
<meta property="og:site_name" content="Example.com"/>
<meta property="og:image" content="http://www.example.com/image.png"/>';
if (is_front_page()) :
echo '<meta property="og:type" content="blog"/>
<meta property="og:description" content="test test test test"/>
<meta property="og:title" content="My title"/>
<meta property="og:url" content=" '. get_bloginfo('home') . '"/>';
elseif (is_single() || is_page()) :
echo '<meta property="og:type" content="article"/>
<meta property="og:title" content="' . trim(wp_title('', false)) . '"/>
<meta property="og:url" content="' . get_permalink() .'"/>';
elseif (!is_front_page() && !is_single() && !is_page()) :
echo '<meta property="og:title" content="' . trim(wp_title('', false)) .'"/>';
endif;
}
...