WordPress для Начинающих

Как отключить автоматическую линковку ссылок в WordPress?

Вы знали, что когда пользователь добавляет ссылку в комментариях, Вордпресс автоматически делает ее кликабельной? В этой статье мы расскажем как вы можете от этого избавиться.

Зачем Водпресс делает ссылки кликабельными в комментариях?

Вордпресс автоматически делает ссылки кликабельными, чтобы вам было легче модерировать комментарии. Причем это происходит не только в самом разделе комментирования, но и в админпанели тоже.

WordPress

Однако этим могут пользоваться и спамеры, чтобы вставлять прямые ссылки в поле комментариев.

Отключаем автоматическую линковку

Просто добавьте эту строчку кода в файл functions.php вашего сайта:

remove_filter( 'comment_text', 'make_clickable', 9 );

Этот код просто отключает фильтр, который делает ссылки кликабельными. Если вы захотите вернуть все на круги своя, то просто уберите этот код. Также, если будете добавлять код в файл functions.php, то обновление шаблона можете перезаписать этот файл. Также учитывайте, что этот код работает только с ссылками в виде текста: если пользователь решил добавить ссылку как таковую, пользуясь тегами HTML, то эти ссылки будут кликабельными.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как убрать текстовое поле комментариев вниз в WordPress 6.7.1

Вы замечали, что в WordPress версии 4.4. произошло небольшое изменение с полями для комментариев? Теперь панель комментирования расположена вверху, в то время как поля Name, Email и Website теперь находятся снизу. В этой статье мы расскажем как вернуться к прошлому состоянию.

Почему форма комментирования была изменена?

Решение перенести панель комментирования вниз было принято, чтобы исправить баг. Раньше, когда пользователи щелкали по кнопке ответа, их перебрасывало в поле комментирования и от них требовалось ввести свое имя и адрес электронной почты. Однако на мобильных устройствах эти поля были невидимы, поэтому когда люди отправляли свои комментарии, им выдавало ошибку. Естественно, что это все ухудшает опыт использования, поэтому в WordPress 4.4 была исправлена эта ошибка. Теперь поле комментирования по умолчанию выглядит подобным образом.

WordPress

Однако некоторым владельцам сайтов не нравится новое положение дел и они хотят вернуться к привычному дизайну. Вот как это можно сделать.

Сдвиг поля комментирования вниз

Просто вставьте этот код файл functions.php вашего сайта.

function wpb_move_comment_field_to_bottom( $fields ) {
$comment_field = $fields['comment'];
unset( $fields['comment'] );
$fields['comment'] = $comment_field;
return $fields;
}

add_filter( 'comment_form_fields', 'wpb_move_comment_field_to_bottom' );

Затем можете зайти на сайт в качестве незарегистрированного пользователя и посмотреть на изменения.

WordPress


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Что такое SEO-дружелюбная URL-структура в WordPress?

Прежде чем мы затронем вопрос постоянных ссылок WordPress, важно дать определение того, что такое SEO-дружелюбный URL. Такой адрес содержит ключевые слова, которые объясняют суть статьи и их легко прочесть как человеку, так и поисковикам. Они также повышают шансы на более высокую выдачу в поисковых системах. Пример SEO-дружелюбного адреса:

https://coma.lv/how-to-install-wordpress/

А как выглядит НЕ дружелюбный к SEO адрес?

https://coma.lv/?p=10467

По умолчанию WordPress теперь использует заголовок поста в URL, что является наиболее СЕО-дружелюбной структурой адресов. Так почему же тогда новички продолжают задавать вопросы о структуре постоянных ссылок? Это потому, что в прошлом WordPress не использовал красивые адреса, известные также как постоянные ссылки. По умолчанию Вордпресс использовал не столь дружелюбные к СЕО адреса, как из примера выше. Это изменилось в версии WordPress 4.2, поэтому если вы лишь недавно установили Вордпресс, то у вас адреса дружелюбны к поисковой оптимизации. Вы также можете с легкостью подтвердить настройки своих постоянных ссылок в админке Вордпресс.

Разъяснение страницы настроек постоянных ссылок

В WordPress ссылки называются постоянными. Первым делом вам надо зайти на страницу настроек постоянных ссылок у себя в админке сайта. Просто щелкните по ссылке Settings в админпанели и затем по Permalinks. Вы увидите страницу, похожую на эту:

WordPress

Как видите, там есть целое множество опций. Давайте попробуем разобраться. Первая опция, которая называется plain, использует стандартную структуру адресов в WordPress. Эта опция не дружелюбна к поисковой оптимизации.

Опция дня и названия уже более-менее дружелюбна, так как в ней в адресе присутствует заголовок поста. Однако с датами в нем адрес становится слишком длинным. Но что еще важнее, после некоторого времени контент становится устаревшим даже если вы регулярно его обновляете. Аналогично и опция с месяцем и заголовком рискует быть устаревшей.

Однако если речь идет о публикации новостей, то вы можете желать, чтобы в ваших адресах отображалась дата, указывая тем самым на свежесть новости и улучшая опыт использования. В нашем понимании эти две структуры подойдут лишь для новостных сайтов. Бизнес-сайты должны избегать их. Опция Post Namе самая лучшая, поскольку она самая короткая и понятная. Если у вас большая публикация, то вы можете использовать пользовательскую структуру, которая тоже может быть дружелюбной к СЕО. Например, если у вас много постов, вы можете добавлять в адрес их категорию, чтобы пользователи не путались. Чтобы использовать пользовательскую адресную структуру, вам понадобится добавлять специальные теги в панель с пользовательской структурой. Например, мы используем:

/%category%/%postname%/

Обратите внимание как каждый тег заключен между знаками процента и слэши до, после и между тегами.

Создание пользовательской адресной структуры с помощью доступных тегов

Для наиболее лучших результатов мы советуем использовать опции, упомянутые выше. Однако есть множество и других комбинаций, которые вы можете создать, используя теги. Вот список тегов, которые вы можете использовать, чтобы создать свою собственную структуру адресов.

• %year% – год поста, четыре цифры, например 2016.
• %monthnum% – месяц года, например 05
• %day% – день месяца, например 28
• %hour% – час дня, например 15
• %minute% – минута часа, например 43
• %second% – секунда минуты, неапример 33
• %postname% – обработанная версия заголовка поста. Например если ваш пост называет This Is A Great Post!, то его название в адресе превратится в this-is-a-grat-post.
• %post_id% – уникальный ID номер вашего поста, например 423
• %category% – обработанная версия названия категории.
• %author% – обработанная версия имени автора.

Как только щелкните по кнопке сохранения, WordPress автоматически обновит файл .htaccess вашего сайта и незамедлительно начнет использовать новую структуру адресов.

Предупреждение: важная заметка для уже работающих сайтов

Если ваш сайт работает уже шесть и более месяцев, то, пожалуйста, не меняйте структуру постоянных ссылок. Вам не надо иметь структуру, которую мы использовали. Меняя структуру постоянных ссылок, вы рискуете потерять шейры в социальных сетях и рискуете утратить существующую позицию выдачи. Если вам необходимо изменить структуру постоянных ссылок, то наймите профессионала, который сможет сделать правильные редиректы. Правда, вы в любом случае потеряете количество шейров на страницах. У этого правила есть только одно исключение: если ваш сайт использует plain URL, то вне зависимости от его возраста, вам следует обновить структуру адресов для более лучшего СЕО. Да, вы потеряете количество шейров в соцсетях, но в долгосрочной перспективе это пустяки по сравнению с тем эффектом, который вам даст изменение структуры адресов.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как спрятать защищенные паролем посты из цикла WordPress

По умолчанию WordPress скрывает содержимое защищенных паролем постов, но он все равно показывает заголовок поста с префиксом Protected. В этой статье мы расскажем вам как спрятать защищенные паролем посты из цикла WordPress.

Зачем прятать защищенные паролем посты?

Заголовок поста защищенного паролем все равно всплывает на главной странице сайта, в списке недавних постов, архивах и так далее. Если вы хотите максимальную приватность контента, то это не очень классно. Также это дает возможность пользователям, у которых нет паролей, попробовать их ввести.

Скрытие защищенных паролем постов в Вордпрессе

Просто добавьте этот код в файл functions.php

function wpb_password_post_filter( $where = '' ) {
    if (!is_single() && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

Все, что делает этот код, это просто меняет запрос, отправленный на WordPress с помощью фильтра posts_where. Он просит Вордпресс собирать все посты, у которых нет пароля. Зайдите на свой сайт и вы увидите, что ваши защищенные паролем посты больше не видны на главной странице, архивах или в виджетах.

WordPress

Вы до сих пор можете зайти в пост через прямую ссылку на него. Пример выше скрывает защищенные паролем посты от всех пользователей. Что, если вы управляете многоавторским сайтом и хотите, чтобы защищенные паролем посты были видны пользователям с правами редактирования приватных постов? Просто измените код выше другим тегом:

function wpb_password_post_filter( $where = '' ) {
   if (!is_single() && !current_user_can('edit_private_posts') && !is_admin()) {
        $where .= " AND post_password = ''";
    }
    return $where;
}
add_filter( 'posts_where', 'wpb_password_post_filter' );

В этом примере мы проверяем может ли пользователь редактировать посты, защищенные паролем. Если нет, то ему показывает только посты, у которых нет паролей.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как отобразить все ваши WordPress-посты на одной странице

Зачем и когда нужно отображать все посты на одной странице? В WordPress есть встроенные архивные страницы для каждой категории, тега, автора и даты. Однако многие владельцы сайтов предпочитают создавать пользовательские архивные страницы для своих сайтов. В этих страницах обычно выделяются популярные посты, отображается компактный архив на основании дат, приводится список категорий, показывается облако тегов и многое другое.

Показываем все посты WordPress на одной странице

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

Способ первый: использование плагина Display Posts Shortcode

Вам надо установить и активировать плагин Display Posts Shortcode. Этот плагин работает прямо из коробки, и в нем нет никаких параметров для настройки. Создайте новую страницу и назовите ее Archives. После этого скопируйте следующий шорткод себе на страницу.

[display-posts posts_per_page=»1000″ order=»DESC»]

Этот шорткод просто отобразит список всех ваших заголовков постов в хронологическом порядке. Он настроен отображать максимум 1000 постов на страницу. Если у вас на сайте более тысячи постов, то вы можете изменить это так же, как вы можете изменить и порядок сортировки, чтобы отображать посты в обратном хронологическом порядке (старые посты будут идти первыми).

WordPress

В то время как вы можете использовать шорткод, чтобы отображать эскизы и прочую информацию, связанную с постами, мы не советуем вам этого делать. Когда вы выводите список всех постов на одну страницу, эта страница будет длинной, и вам захочется сделать ее простой и быстрой. Для этой страницы достаточно лишь заголовков. Если хотите отображать посты, основываясь на категории или других параметрах, вы можете это сделать, следуя указаниями на странице документации.

Способ второй: использование плагина Simple Yearly Archive

Отображение всех ваших постов в пределах одной страницы может потребовать слишком много времени на ее прокручивание. Однако вы можете от этого избавиться, показывая список каждого года. Пользователи могут щелкать по годам, чтобы раскрывать их и видеть посты, которые были опубликованы в тот период времени. Для этого вам сперва надо установить и активировать плагин Simple Yearly Archive. После активации зайдите на страницу Settings > Simple Yearly Archive, чтобы настроить параметры плагина.

WordPress

Плагин позволяет вам отображать список постов в самых разных способах. Вы можете показать их все под ссылками на годовые архивы, или вы можете показать их под раскрываемыми годами. Если вы хотите добавить их под разборными годами, то вам надо добавить


<div> и </div>

возле опции ‘Before / After (Year headline)’. Остальные настройки плагина достаточно просты. Теперь, чтобы отображать все посты на странице, вам надо добавить шорткод [SimpleYearlyArchive] на странице под ваше усмотрение.

WordPress

Плагин предоставляет массу параметров, которые могут быть использованы в связке с этим шорткодом. Вы можете посмотреть параметры плагина на странице документации.

Способ третий: отображение всех постов WordPress на одной странице с помощью кода

Первым делом вам надо создать пользовательский шаблон страницы и скопировать стиль из файла page.php После этого используйте следующий код:

<?php // the query $wpb_all_query = new WP_Query(array('post_type'=>'post', 'post_status'=>'publish', 'posts_per_page'=>-1)); ?>

<?php if ( $wpb_all_query->have_posts() ) : ?>

<ul>

	<!-- the loop -->
	<?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>

<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>

	<?php endwhile; ?>
	<!-- end of the loop -->

</ul>

	<?php wp_reset_postdata(); ?>

<?php else : ?>


<?php _e( 'Sorry, no posts matched your criteria.' ); ?>

<?php endif; ?>

Если для вас это слишком сложно, то можете воспользоваться первым способом.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как отключить JSON REST API в WordPress

В WordPress версии 4.4 появился многим ненавистный JSON REST API, который идеален для разработчиков плагинов, но совершенно непригоден для обычных владельцев сайтов. В этой статье мы расскажем вам как можно легко отключить JSON REST API в WordPress.

Зачем отключать JSON REST API в WordPress?

Никто и не спорит, что API принесет много пользы разработчикам WordPress. Однако некоторые владельцы сайтов не используют эти вещи вообще. API делает очень простым возможность получения запросов GET, что невероятно полезно для создания приложений на WordPress. Однако это также может сделать ваш сайт намного уязвимее перед DDoS-атаками. Также это может требовать немало ресурсов и сделать ваш сайт медленнее. Процесс отключения по своей сути похож на отключение XML-RPC, который многие владельцы сайтов также отключают.

Отключаем JSON REST API в WordPress

Если вы хотите отключить JSON REST API в WordPress, то вы можете легко это сделать, просто добавив следующий код в файл functions.php:

add_filter('json_enabled', '__return_false');
add_filter('json_jsonp_enabled', '__return_false');

Этот код просто использует встроенные фильтры, чтобы отключить JSON и JSONР API. Те же из вас, кто не хочет вручную добавлять код, могут установить и активировать плагин Disable JSON API, который работает сразу после установки и не требует никаких настроек. Простая активация плагина отключит API на вашем сайте.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как создавать пользовательские постоянные ссылки в WordPress

Постоянные ссылки или адресная структура вашей страницы играет важную роль в поисковом продвижении сайта. В этой статье мы покажем вам как создавать пользовательские постоянные ссылки не влияя на SEO.

Что такое постоянная ссылка?

В WordPress есть удобная опция по созданию SEO-дружелюбных адресных структур под названием Permalinks. Все, что вам надо сделать, это зайти на страницу Settings > Permalinks и выбрать адресную структур.

WordPress

Там есть куча опций на выбор и вы можете даже отметить пользовательскую структуру. Выбор структуры постоянных ссылок влияет на все посты и страницы (как новые, так и старые), которые есть на вашем сайте, поэтому вам надо быть с этим осторожными. Но что, если вы хотите иметь иной адрес лишь для некоторых постов у себя на сайте? Что, если вы хотите иметь пользовательскую постоянную ссылку для пользовательского типа постов или категорий и тегов. Вот тут-то вам и понадобится пользовательская постоянная ссылка. По сути пользовательская постоянная ссылка это структура URL, примененная к определенной вещи в WordPress без влияния на прочую структуру адресов. Давайте же посмотрим как вы можете создать пользовательские постоянные ссылки в WordPress.

Создаем пользовательские постоянные ссылки в WordPress

Есть два способа создать пользовательскую постоянную ссылку в WordPress. Часто, когда пользователи говорят об изменении постоянной ссылки в посте WordPress, они имеют в виду слаги постов. Мы покажем вам как изменить слаг поста. Однако в некоторых случаях пользователи желают создать полностью пользовательскую структуру адресов, и мы также покажем как можно сделать и это.

Способ первый. Меняем слаг постоянной пользовательской ссылки

В Вордпрессе под термином слаг обозначают название поста, страницы, тега или категории с дружелюбным url-адресом. Оно автоматически генерируется Вордпрессом и используется в URL когда вы создаете новый предмет. Например, у поста под названием 20 Most Amazing Coffee Shops in Manhattan в Вордпрессе будет слаг вроде this 20-most-amazing-coffee-shops-in-manhattan. В зависимости от структуры постоянных ссылок, которая у вас на сайте, адрес вашего поста будет выглядеть подобным образом:

http://example.com/2016/02/20-most-amazing-coffee-shops-in-manhattan/

То же самое происходит со страницами, пользовательскими типами постов, тегами, категориями, пользовательскими таксономиями и так далее. Если вы хотите изменить слаг в постоянной ссылке, то это делается очень легко и вам даже не понадобится устанавливать какие-то плагины или писать код.

Меняем слаг поста или страницы

Самый простой способ изменить слаг поста или страницы это путем их редактирования. На экране редактора просто загляните под заголовок поста и вы увидите кнопку редактирования адреса.

WordPress

Щелчок по этой кнопке позволит вам изменить слаг поста. Вы можете использовать буквы, цифры и черточки в своем слаге. Для более дружелюбного к СЕО адреса используйте слаги, которые содержат в себе ключевые слова.

Изменение слагов категорий и тегов

Изменить слаг категории или тега на самом деле тоже очень просто. Для этого зайдите в Posts > Categories и Вордпресс покажет вам список категорий.

WordPress

Вы можете навести мышь на категорию и щелкнуть по ссылке быстрого редактирования. WordPress покажет вам заголовок категории и ее адресной слаг. Вы можете изменить слаг и щелкнуть по кнопке обновления, чтобы сохранить свои изменения.

WordPress

Этот же способ используется для тегов и пользовательских таксономий.

Создание полностью пользовательских постоянных ссылок

Изменение слага поста не меняет вашей структуры постоянных ссылок. Что, если вы хотите изменить постоянную ссылку для единичного поста, страницы или таксономии. Например, если ваш адрес выглядит подобным образом:

http://example.com/2016/02/20-most-amazing-coffee-shops-in-manhattan/

И вы хотите изменить его на что-то вроде этого:

http://example.com/best-lists/coffee-shops/top-coffee-shops-in-manhattan/

Давайте посмотрим на другой пример. Адрес вашей категории в Вордпрессе имеет подобный вид:

http://example.com/category/travel

Возможно, что в случае с этой конкретной категорией, вы хотите, чтобы он выглядел как-то так:

http://example.com/travel/

В обычных ситуациях это потребовало бы от вас изменить структуру постоянных ссылок, однако это повлияло на все адреса на вашем сайте. Вот как можно создать пользовательскую постоянную ссылку без опасности изменить адреса на вашем сайте. Для начала вам надо установить и активировать плагин Custom Permalinks. После активации просто зайдите в окно редактирования страницы или поста, чей адрес вы хотите изменить.

WordPress

Вы также можете редактировать категории и теги. Просто зайдите в Posts > Categories и щелкните по ссылке редактирования под категорией, которую хотите изменить. На экране редактирования прокрутите вниз к самому низу и вы увидите поле пользовательской постоянной ссылкой.

WordPress

Вы можете сделать то же самое для тегов и пользовательских таксономий.

Настройка редиректов для пользовательских постоянных ссылок

Когда вы добавляете пользовательскую постоянную ссылку для нового поста, то вам не надо больше волноваться о редиректах. С другой стороны, если вы изменяете адрес уже опубликованного поста, то вам надо настроить грамотные редиректы. Пользователи, перенаправленные с поисковых систем и других сайтов, на ваши старые адреса не смогут найти искомую страницу, если вы не настроите редиректы. То же самое относится и к вашим категориям и тегам. Если архивная страница категорий / тегов была проиндексирована, то она станет недоступной после изменения адреса. Вам надо перенаправлять пользователей и поисковые системы на новый адрес.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как изменить сжатие изображений

По умолчанию WordPress сжимает изображения для большей производительности. Недавно один из наших читателей спросил можно ли поменять настройки сжатия изображений в WordPress. В этой статье мы расскажем как это сделать.

Каждый раз, когда вы загружаете изображение в WordPress, система автоматически сжимает его качество до 82%. Это число было установленно начиная с версии 4.5, чтобы улучшить использование сайта для пользователей мобильных устройств. Если вы фотограф, который хотите выкладывать на свой сайт высококачественные снимки, то вы можете отключить сжатие изображений в WordPress.

Как отключить сжатие изображений в WordPress

Все, что вам требуется это вставить следующий код в файл functions.php вашего шаблона.

add_filter(‘jpeg_quality’, function($arg){return 100;});

Когда вы ставите значение 100, это значит, что WordPress сжимает изображение в его лучшем качестве. Если вы не фотограф, то скорее всего не заметите большой разницы в качестве. Однако для тех, кто работает с графикой, потеря качества будет очевидна.

Как увеличить сжатие изображений в WordPress

Если вы хотите снизить качество изображения, чтобы сэкономить место на сервере, то все, что от вас требуется, это вставить следующий код:

add_filter(‘jpeg_quality’, function($arg){return 75;});

Как изменить сжатие изображений в WordPress с помощью плагина Imsanity

Установите и активируйте плагин Imsanity. Перейдите в Settings > Imsanity чтобы настроить параметры сжатия изображений. Найдите раскрывающийся список качества изображения JPG и установите желаемый уровень сжатия:

  • 100: Без сжатия (наилучшее качество).
  • 70–80: Сбалансированное качество и размер файла.
  • Ниже 70: более высокая степень сжатия, но может снизиться качество изображения.

Меняя качество изображений, не забудьте регенерировать эскизы.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520


Как добавлять категории в пользовательские типы постов в WordPress

Категории по умолчанию используются только для постов. Однако в некоторых сценариях у вас может возникнуть желание использовать их с пользовательским типом постов. В этой статье мы расскажем вам как это можно сделать.

Способ с плагином

Для начинающих пользователей мы рекомендуем использовать Custom Post Type UI плагин, чтобы создать пользовательский тип постов. Используя этот плагин, у вас есть возможность ассоциировать пользовательский тип постов с любой встроенной или пользовательской таксономией, включая категории. После установки плагина зайдите в CPT UI » Add/Edit Post Types для того, чтобы создать новый пользовательский тип постов или отредактировать существующий.

WordPress

Прокрутите вниз до Advanced Options и там вы увидите параметр Built in Taxnomies. Отметьте ячейку напротив категорий и сохраните свой тип постов.

WordPress

Ручное добавление категорий для пользовательского типа постов

Если вы создали пользовательский тип постов, добавив код в файл functions.php, вам нужно добавить категории как поддерживаемую таксономию с помощью функции register_taxonomy_for_object_type().

Всё, что от вас требуется, это добавить эту строку после регистрации вашего пользовательского типа постов:

register_taxonomy_for_object_type( ‘category’, ‘movies’ );

Если у вас уже есть другая пользовательская таксономия, например topics, добавьте обе следующим образом:

register_taxonomy_for_object_type( ‘topics’, ‘movies’ );
register_taxonomy_for_object_type( ‘category’, ‘movies’ );

Вот пример целого кода, где мы создали пользовательский тип постов под названием «фильмы» с поддержкой всех встроенных категорий.

function custom_post_type() {
 
    // Set UI labels for Custom Post Type
    $labels = array(
        'name'                => _x( 'Movies', 'Post Type General Name', 'mytheme' ),
        'singular_name'       => _x( 'Movie', 'Post Type Singular Name', 'mytheme' ),
        'menu_name'           => __( 'Movies', 'mytheme' ),
        'parent_item_colon'   => __( 'Parent Movie', 'mytheme' ),
        'all_items'           => __( 'All Movies', 'mytheme' ),
        'view_item'           => __( 'View Movie', 'mytheme' ),
        'add_new_item'        => __( 'Add New Movie', 'mytheme' ),
        'add_new'             => __( 'Add New', 'mytheme' ),
        'edit_item'           => __( 'Edit Movie', 'mytheme' ),
        'update_item'         => __( 'Update Movie', 'mytheme' ),
        'search_items'        => __( 'Search Movie', 'mytheme' ),
        'not_found'           => __( 'Not Found', 'mytheme' ),
        'not_found_in_trash'  => __( 'Not found in Trash', 'mytheme' ),
    );
     
    // Set other options for Custom Post Type
    $args = array(
        'label'               => __( 'movies', 'mytheme' ),
        'description'         => __( 'Movie news and reviews', 'mytheme' ),
        'labels'              => $labels,
        'supports'            => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields' ),
        'hierarchical'        => false,
        'public'              => true,
        'show_ui'             => true,
        'show_in_menu'        => true,
        'show_in_nav_menus'   => true,
        'show_in_admin_bar'   => true,
        'menu_position'       => 5,
        'can_export'          => true,
        'has_archive'         => true,
        'exclude_from_search' => false,
        'publicly_queryable'  => true,
        'capability_type'     => 'page',
        'show_in_rest'        => true,
    );
     
    // Registering your Custom Post Type
    register_post_type( 'movies', $args );

    // Registering Categories and tags
    register_taxonomy_for_object_type( 'category', 'movies' );
    register_taxonomy_for_object_type( 'post_tag', 'movies' );
}
 
/* Hook into the 'init' action */
add_action( 'init', 'custom_post_type', 0 );

Отображение нескольких типов постов на странице категории

По умолчанию страницы категории на сайте WordPress отображают стандартный тип постов. Если хотите, чтобы ваш тип постов отображался бы на той же странице категорий, что и посты по умолчанию, то вам надо добавить следующий код в файл functions.php:

add_filter( 'pre_get_posts', 'query_post_type' );
function query_post_type( $query ) {
    if ( $query->is_main_query() && !is_admin() && is_category() ) {
        $post_type = get_query_var( 'post_type' );
        if ( $post_type ) {
            $post_type = $post_type;
        } else {
            $post_type = array( 'post', 'movies' );
        }
        $query->set( 'post_type', $post_type );
    }
    return $query;
}

Не забудьте поменять movies на название своего пользовательского типа постов.


Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [email protected], +371 29394520