Чтобы динамически изменить картинку для социальных сетей (Open Graph image) на определенной странице в WordPress с использованием плагина Yoast SEO, можно использовать предоставляемые плагином фильтры. Это позволит вам изменить картинку без непосредственного изменения базы данных или использования `WPSEO_Meta::set_value()`.
Пример кода, который вы можете добавить в файл `functions.php` вашей темы или в плагин, для изменения картинки Open Graph:
```php
add_filter( 'wpseo_opengraph_image', 'custom_og_image' );
function custom_og_image( $image ) {
if ( is_specific_page() ) { // Замените is_specific_page() на условие, которое проверяет вашу определенную страницу
$new_image_url = 'http://example.com/path-to-your/image.jpg'; // URL новой картинки
return $new_image_url;
}
return $image;
}
```
Вам нужно заменить `is_specific_page()` на реальное условие, которое будет проверять, является ли текущая страница той страницей, для которой вы хотите изменить картинку. Также замените `http://example.com/path-to-your/image.jpg` на реальный URL изображения, которое вы хотите установить.
В случае, если ваш код для изменения значения мета-тега `og:image` не работает, возможно есть другие фильтры или функции, которые влияют на конечный вывод мета-тегов. Убедитесь, что ваш фильтр применяется последним, настраивая приоритет:
```php
add_filter( 'wpseo_opengraph_image', 'custom_og_image', 10, 1 ); // 10 - это приоритет, низкое число означает более высокий приоритет
```
Если же проблема не решается с помощью этих методов, вам стоит проверить наличие кэширования на уровне сервера, CDN или кэширующих плагинов, так как они могут сохранять старую версию страницы и мета-тегов.
Кроме того, обратите внимание, что изменение мета-тега `og:image` не повлияет на картинку в социальных сетях немедленно, так как эти сервисы кэшируют информацию. Чтобы очистить кэш, например, в Facebook, вам следует использовать инструмент Facebook Sharing Debugger, чтобы перезагрузить информацию о мета-тегах.
Те же принципы применяются для других социальных сетей, у большинства из них есть инструменты для разработчиков, позволяющие обновить кэшированную информацию о странице.