Изображение по умолчанию для домашней страницы при публикации в социальных сетях


В настоящее время моя домашняя страница содержит несколько последних сообщений. Поэтому, когда домашняя страница публикуется через социальные сети (например, Facebook), отображаемое уменьшенное изображение происходит от верхнего изображения в последнем сообщении.

Что я пытаюсь сделать, так это настроить его так, чтобы при публикации домашней страницы отображалось определенное изображение по умолчанию. Однако изображение должно отображаться только тогда, когда домашняя страница является общедоступной, и в противном случае не должно появляться на сайте. Что был бы лучший способ сделать это?

Author: Thredolsen, 2017-06-27

3 answers

Несколько вариантов:

Готовый плагин

Если вы используете SEO для WordPress, у вас есть встроенная настройка для изображений Facebook. В меню SEO > Социальные сети перейдите на вкладку Facebook и выберите изображение в разделе "Настройки главной страницы". Вы также можете установить изображение в качестве запасного варианта для сообщений, в которых нет изображения, в разделе "Настройки по умолчанию".

Другие SEO-плагины могут обладать аналогичными возможностями.

Детская тема

Вы можете создавать дочернюю тему или измените пользовательскую тему. Во-первых, убедитесь, что тема поддерживает логотип сайта. Если нет, добавьте поддержку пользовательских логотипов.

Затем отредактируйте или скопируйте header.php в свою новую дочернюю тему. Внутри тегов <head></head> включите проверку на if(is_front_page()) или if(is_home()) в зависимости от ваших потребностей. Похоже, в вашем случае сработало бы и то, и другое.

Если условие выполнено, возьмите URL-адрес пользовательского логотипа

$image = wp_get_attachment_image_url(get_theme_mod('custom_logo'), 'large');

И выведите его в тегах открытого графика:

<meta property="og:image" content="<?php echo $image; ?>" />
<meta name="twitter:image" content="<?php echo $image; ?>" />

Изготовленный на заказ плагин

Вы также можете создать свой собственный плагин, если вы не хотите использовать SEO для WordPress или возиться с темой. Риск заключается в том, что существующая тема или плагин могут уже выводить показанное изображение, поэтому вам следует проверить источник страницы и убедиться, что больше ничего не настраивает показанное изображение. Я предполагаю, что это так, поскольку ваша текущая тема и плагины устанавливают изображение самого последнего опубликованного поста, когда вы пытаетесь поделиться им.

В принципе, вы бы добавили действие для крючка wp_head. Ваше действие выведет данные открытого графика и изображения Twitter точно так же, как если бы вы выбрали первый вариант, работая с темой.

Вам нужно будет решить, следует ли жестко закодировать изображение в свой плагин, или вы создадите страницу параметров где-нибудь в wp-admin, где вы сможете менять изображение, когда захотите.

 6
Author: WebElaine, 2017-06-27 18:05:32

Различные социальные платформы используют разные методы.

Для Facebook вам нужен набор тегов <meta> со свойствами og, например og:url, og:type, og:description и og:image. og:image должен содержать полный путь к изображению, которое вы хотите отобразить.

Twitter похож, но имеет свой собственный механизм "карточки", который требует своего собственного набора тегов meta - например, name="twitter:card" и name="twitter:image"

Я считаю, что для этого есть плагины. У меня есть своя собственная простая функция, которая использует миниатюру страницы или запасной вариант, если это не установлено.

 1
Author: Jonny Perl, 2017-06-27 18:06:20

Мета-теги OG, вероятно, это то, что вы ищете, в данном случае:

<meta property="og:image"content="path/to/foo.jpg" />

Поместите внутрь, если is_home() и, надеюсь, это сработает

 0
Author: Dihgg, 2017-06-27 18:11:15