WordPress: как отображать на странице только определенные типы сообщений?

#wordpress #wordpress-theming #custom-post-type

#wordpress #wordpress-тематизация #пользовательский тип записи

Вопрос:

Я разрабатываю мультимедийно ориентированную тему для WordPress.

При входе на сайт пользователь должен выбрать просмотр МУЗЫКИ или видеоклипов на стороне веб-сайта. Если он выбирает видеоклипы, то должен отображаться только пользовательский тип записи видеоклипов. И если он выбирает МУЗЫКУ, на веб-сайте должен отображаться только пользовательский тип записи music.

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

Я не буду использовать функцию мультисайта.

Каков наилучший способ для меня отображать только определенные пользовательские типы записей по выбору пользователя?

Комментарии:

1. Будьте более конкретны, пожалуйста, с какой частью у вас возникли проблемы?

Ответ №1:

Ваш вопрос довольно расплывчатый, однако я постараюсь направить вас в правильном направлении, основываясь на том, что вы спрашиваете.

Во-первых, вы должны создать два пользовательских типа записей: music и video . Чтобы узнать, как это сделать, пожалуйста, прочтите следующую ссылку:https://codex.wordpress.org/Function_Reference/register_post_type

Я бы посоветовал вам затем создать два шаблона страницы, один из которых называется «Музыкальная страница», а другой — «Страница видео».

Затем вы должны создать две страницы: «музыка», которая использует ваш шаблон «Страница музыки», и «видео», которое использует ваш шаблон «Страница видео». Новые страницы создаются с помощью WP Admin -> Страницы -> Новая страница.

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

 $args = array(
    'post_type' => 'music'
);

$the_query = new WP_Query( $args );
  

В шаблоне страницы Videos у вас будет WP_Query, который принимает аргументы, одним из которых является пользовательский тип записи video.

 $args = array(
    'post_type' => 'video'
);

$the_query = new WP_Query( $args );
  

Конечно, после создания запроса вам следует затем просмотреть запрос с использованием цикла while, если в запросе есть записи. Чтобы узнать больше о том, как это сделать, пожалуйста, прочтите эту ссылку:
https://codex.wordpress.org/Class_Reference/WP_Query

Чтобы узнать больше о шаблонах страниц, пожалуйста, прочтите следующее wordpress.org ссылка:https://developer.wordpress.org/themes/template-files-section/page-template-files/page-templates

Я надеюсь, это укажет вам правильное направление.