Скрыть заголовок H1 с использованием фильтра the_title

Я пытаюсь скрыть заголовок H1 страниц, если это настраивает пользовательское поле.

На обратной стороне страницы я добавил настраиваемое поле: Name = hide_title Значение = true

Затем я хочу скрыть только H1, используя фильтр.

Следующий код не работает, но это результат моего лапши. Может ли кто-нибудь предложить исправление для этого кода или альтернативный способ приблизиться к этому. Я не хочу исправлять основные файлы шаблонов.

благодаря

// Hide H1 Title add_filter('the_title', 'hide_title', 10, 2); function hide_title($title, $id) { global $post; $key = 'hide_title'; $meta = get_post_meta($post->ID, $key, true); if ($meta = 'true') $title['post_title'] = ''; return $title; } 

Solutions Collecting From Web of "Скрыть заголовок H1 с использованием фильтра the_title"

В зависимости от того, как ваша тема использует the_title , подключение к фильтру the_title может или не может скрыть заголовок h1. Какую тему вы используете?

Фильтр the_title передает два аргумента: заголовок (строка) и идентификатор сообщения. Поэтому, рассматривая заголовок как массив (похоже, вы считаете, что $title – это массив почтовых данных, пытаясь установить $title['post_title'] . Чтобы the_title возвращал пустую строку, если пользовательское поле "hide_title" не является пустым, достаточно:

 add_filter( 'the_title', 'wpse145940_hide_hidden_title', 10, 2 ); function wpse145940_hide_hidden_title( $title, $postid ) { if ( get_post_meta( $postid, 'hide_title', true ) ) { $title = ''; } return $title; }