Intereting Posts
Wp_user_query поиск по meta_key не возвращает никаких результатов Плагин для создания сообщений и форумов, затем выберите категорию и родительский форум Есть ли способ предотвратить использование SELECT SQL_CALC_FOUND_ROWS при получении таксономии Сортировка записей архива на основе нескольких мета ключей Как я могу изменить цикл из плагина, не удаляя другие фильтры? Как получить postID в функции «image_send_to_editor»? WP REST возвращает значение функции ошибки из запроса как запрашивать сообщения и автоматически назначать категорию, если заголовок заголовка имеет ключевое слово Иврит имя пользователя Как удалить все и опубликовать, если не admin? Отключить интерфейс для использования только в CMS? Отображение сообщений, привязанных к пользовательским правилам таксономии Получить все сообщения в теге ИЛИ категории? Почему мой сценарий выбора СМИ записывает ТОЛЬКО первое поле ввода? Ajax вставляет или обновляет данные

Изменять метатеги программно

Есть ли способ изменить метатеги не в голове, а в файле шаблона через код?

Я хочу изменить метатеги

<meta property="og:title" content="title" /> <meta property="og:description" content="description" /> <meta property="og:image" content="thumbnail_image" /> 

Они автоматически устанавливаются при вызове SDK в facebook. Есть ли способ изменить эти теги в моем коде (а не в header.php)?

Я попытался сделать это в своем дочернем шаблоне ( content-share.php ):

 <?php add_action( 'wp_head', 'add_meta_tags' , 10 ); ?> 

А потом в functions.php моей темы у меня есть:

 function add_meta_tags() { echo '<meta property="og:title" content="Test">' . "\n"; } 

Но это ничего не делает. Также, когда я добавляю die; в функции ничего не меняется. Это похоже на то, что моя функция не называется.

Как я могу это решить?

Solutions Collecting From Web of "Изменять метатеги программно"

Я думаю, вам нужно сделать add_action( 'wp_head', 'add_meta_tags' , 10 ); в вашем functions.php вместо шаблона, чтобы вызвать вызванную функцию. И он добавляет его везде, где у вас есть wp_head() . Поэтому, если вы хотите только называть его content-share.php, вам нужна определенная логика кондиционирования

 if (is_page_template('page-templates/content-share.php')) { add_action( 'wp_head', 'add_meta_tags' , 10 ); } 

Конечно, измените папку шаблонов страниц, чтобы быть тем, что когда-либо было в папке, где у вас есть шаблон в папке темы.