#facebook #wordpress #facebook-like #meta #facebook-opengraph
#Facebook #wordpress #facebook-нравится #meta #facebook-opengraph
Вопрос:
У меня есть сайт WordPress с кнопками «Мне нравится», которые генерируются для каждого сообщения и задаются the_permalink
в качестве URL. Я установил стандартные теги opengraph в заголовке шаблона, но тогда, конечно, проблема в том, что каждая кнопка «Нравится» будет публиковать один и тот же заголовок, описание и изображение и т.д.
Проблема заключается в том, что я не могу установить теги в цикле, потому что мета-теги должны быть в заголовке?
Есть ли какое-либо решение этой проблемы? Я перепробовал несколько плагинов, но все они кажутся чрезмерно сложными и их трудно правильно расположить в шаблоне.
Ответ №1:
Я полагаю, вы могли бы сделать одно из следующих действий:
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() amp;amp; !is_single() amp;amp; !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() amp;amp; !is_single() amp;amp; !is_page()) :
echo '<meta property="og:title" content="' . trim(wp_title('', false)) .'"/>';
endif;
}
Комментарии:
1. Да, спасибо! Я выбрал хуки в functions.php и это работает превосходно.