Я хотел бы удалить заголовок поста со своей статической главной страницы. Только эта страница. Я создал дочернюю тему из бесплатной темы Press75. Поэтому я хотел бы внести это изменение в файл function.php моей дочерней темы.
Я использовал этот код, но он удаляет заголовок со всех страниц, сообщений и моей навигации:
add_filter( 'the_title', 'remove_page_title' );
function remove_page_title() {
if(is_page('138')) {
}
return '';
}
Думал просто удалит заголовок со страницы с ID 138. Что я делаю не так?
Спасибо!
Создать
front-page.php
шаблон и удалить заголовок?Наткнулся на это, так как у меня точно такая же проблема. Пробовал подход Kaiser-Chip, который работал нормально, за исключением того, что он также удалил все пункты меню + все заголовки сообщений в виджете боковой панели. Кроме того, несмотря на то, что заголовок страницы был удален, стиль заголовка остался, включая отступы и нижний край. Есть ли другое решение?
Это было самое простое решение. Но создание шаблона только для того, чтобы удалить заголовок, кажется излишним. Я могу сделать это в functions.php, когда использую Hybrid Framework, просто используя один из хуков Джастина.
@Anders Не могли бы вы удалить этот ответ и добавить его как новый вопрос.
Мне нравится это предложение, но не лучше ли использовать if ( ! is_front_page() ), чем жестко закодированный идентификатор страницы, например if ( is_page( ‘138’ ) ) ?
@Chip Bennett — Конечно лучше. Но из прочтения Q хорошо подходит A. IMO, я думаю, что лучше предложить решение, максимально близкое к Q, даже если доступно множество лучших решений. Там, откуда я родом, есть поговорка: «Фермер не ест того, чего не знает».
Но это была первоначальная проблема: «Я хотел бы удалить заголовок сообщения со своей статической главной страницы. Только эту страницу». В этом случае я определенно рекомендую решение с файлом шаблона front-page.php. В любом случае, ваш ответ получил мой голос.
Я добавляю этот код, используя идентификатор страницы или is_front_page, и ничего не происходит…
Я не уверен насчет функции __return_false. Его можно назвать близким к этому. Вы также можете сами написать небольшой fn, который возвращает false, и добавить его. В любом случае, комментарий Чипа — лучшее решение.
См.: codex.wordpress.org/Function_Reference/the_title Более того, это именно то, что @Chip Bennett предложил в качестве комментария к моему ответу.
Шиш. Я ответил до того, как Чип опубликовал свой комментарий. Я также уточнил свой ответ словами «если я правильно вас понял», чего явно не понимал.
@Ryan: Извини, если я ошибся. Я только что сравнил время, и разница была в 2 минуты.
Я надеюсь, что ответы, голосование, репутация и т. Д. Здесь не вызывают особых споров? Я на самом деле не беспокоюсь о них; что действительно важно, так это то, что люди получают помощь в решении своих проблем, да?
@kaiser: Я ценю это — я был больше расстроен из-за того, что не прочитал вопрос, на который вы правильно ответили. Было немного шокирующим быть n00b на этом сайте и получить отрицательный голос, но, как говорит Чип, речь идет о том, чтобы дать людям ответы. 🙂
оберните вызов функции add_filter вокруг условного тега и используйте встроенную функцию return false:
У тебя почти получилось!
Вот ваш исходный код:
Что он делает, так это добавляет фильтр
the_title
, который не принимает никаких параметров. Это твоя первая ошибка. Наthe_title
самом деле фильтр принимает два параметра — заголовок страницы/записи и идентификатор страницы/записи. Итак, сначала давайте перепишем наш хук:Это назначает нашему фильтру приоритет 10 и позволяет нам принимать оба параметра, отправленные фильтром. Затем мы указываем параметры, которые принимает наша функция.
Внутри функции мы хотим проверить, находимся ли мы на правильной странице. Если да, верните
''
, если нет, верните заголовок:Ваша исходная функция всегда возвращалась
''
при запуске фильтра. Вот почему вы получали пустой заголовок на каждой странице, а не только на странице, которую вы хотели.Наш полный код
Итак, ваш полный фильтр, переписанный для приема параметров и использования правильной логики:
Вот как можно удалить основной заголовок заголовка (не тег) с главной страницы в 2020 году, не удаляя при этом the_title из пунктов меню:
Код на основе этого ответа.
Один из способов для header.php:
Если я вас правильно понял, вы хотите отобразить no
<title>
на главной странице, вы можете использовать: