Вопрос или проблема
Я пытаюсь заменить изображение по умолчанию, выбранное Yoast (обложка), на кастомное с указанными относительными og:image:width и og:image:height, но это кажется невозможным!
Я пробовал вот это:
function my_own_og_function() {
$my_image_url="http://www.mywebsite.net/wp-content/uploads/TEST-A.jpg";
$GLOBALS['wpseo_og']->image( $my_image_url ); // Это выведет тег og в строку с другими тегами WPSEO og
}
add_action( 'wpseo_opengraph', 'my_own_og_function', 29 );
Но да, изображение заменено, только в нем отсутствуют og:image:width и og:image:height
Так что мне интересно, есть ли способ это сделать? Пожалуйста, мне нужна ваша помощь, я провел всю ночь, пытаясь достичь того, чего я ищу… Большое спасибо! 🙂
Используйте фильтр wpseo_opengraph_image_size
. Вы можете использовать любой размер изображения WP (стандартные, такие как medium
, или те, которые добавлены темами и плагинами, специфичными для вашего сайта) в первой строке:
// установите 'medium' на нужный вам размер
$size="medium";
// размер затем применяется в этом фильтре
add_filter('wpseo_opengraph_image_size', create_function("$size", 'return "opengraph";'));
Попробуйте это.
/* Yoast Seo Изображение Среднего размера для общего доступа */
function sc_opengraph_image_size($size="medium") {
return "medium";
}
add_filter('wpseo_opengraph_image_size','sc_opengraph_image_size',10,1);
.
Ответ или решение
Для замены стандартного изображения og:image, генерируемого плагином Yoast SEO, на пользовательское изображение с указанием параметров og:image:width и og:image:height, вам нужно воспользоваться специализированными фильтрами и функциями, предоставляемыми Темой WordPress и плагином Yoast SEO.
Шаги для замены изображения og:image
-
Определите изображение и его размеры. Вам необходимо указать URL вашего изображения, а также его ширину и высоту. Вы можете использовать стандартные размеры изображений WordPress, такие как ‘thumbnail’, ‘medium’, ‘large’, или задать собственные размеры.
-
Используйте фильтр wpseo_opengraph изображений. Для того чтобы задать нужный размер изображения и его параметры, воспользуйтесь фильтром
wpseo_opengraph_image_size
. -
Настройте отображение параметров ширины и высоты. Вам нужно дополнительно использовать функцию
wpseo_opengraph_image
для задания этих параметров.
Пример кода
Ниже приведен пример кода, который вы можете добавить в файл functions.php
вашей темы. Этот код позволяет заменить стандартное изображение с настройкой ширины и высоты.
function custom_opengraph_image() {
$my_image_url = "http://www.mywebsite.net/wp-content/uploads/TEST-A.jpg";
// Устанавливаем изображение
$GLOBALS['wpseo_og']->image($my_image_url);
// Указываем размеры изображения
echo '<meta property="og:image:width" content="1200" />';
echo '<meta property="og:image:height" content="630" />';
}
add_action('wpseo_opengraph', 'custom_opengraph_image', 29);
function custom_opengraph_image_size($size) {
return 'medium'; // Или любой другой размер, который вы хотите использовать
}
add_filter('wpseo_opengraph_image_size', 'custom_opengraph_image_size', 10, 1);
Объяснение кода
$my_image_url
: Здесь вы указываете URL вашего пользовательского изображения.$GLOBALS['wpseo_og']->image($my_image_url)
: Эта строка заменяет стандартное изображение, используя указанное вами изображение.echo '<meta property="og:image:width" content="1200" />';
иecho '<meta property="og:image:height" content="630" />';
: Эти строки добавляют мета-теги для ширины и высоты вашего изображения. Замените 1200 и 630 на нужные вам значения.- Фильтр
wpseo_opengraph_image_size
позволяет вам задавать размеры изображений, которые будут использоваться для генерации тега og:image.
Заключение
После добавления этого кода в файл functions.php
вашей темы, ваше изображение и его размеры должны корректно отображаться в Open Graph мета-тегах. Убедитесь, что вы проверили это с помощью инструментов, таких как Facebook Sharing Debugger, чтобы убедиться, что изменения вступили в силу. Если у вас возникают дополнительные сложности, не стесняйтесь обратиться к документации Yoast SEO или к сообществу WordPress для получения поддержки.