Intereting Posts
Как определить активный виджет с js в настройке Как я могу использовать CURLOPT_USERPWD в wp_remote_post? Форма плагина WordPress не сохраняет данные Как ссылочная / эхо-переменная из другой функции PHP Как установить WPMU с композитором? WP 3.1 meta_query для нескольких настраиваемых значений полей Как показать только маркированные категории / таксоны CPT для пользовательского типа сообщений? Передача значений между закрывающимися и закрытыми кодами Комментарий WP_DEBUG в файле wp-config Возможность синхронизировать и точно одинаковые множественные сайты через WordPress Multisite получать уведомления об обновлениях только на «основной» странице Помогите сконденсировать / оптимизировать некоторый рабочий код Категория страницы ошибки Tinymce в WordPress Добавьте переменную в functions.php и вызовите ее в single.php WP Cron: сохранение данных третьих сторон в качестве пользовательского мета

Создайте собственный URL-адрес для архива блога

Я играю с тестовым сайтом, и я создал статическую страницу в качестве домашней страницы.

Теперь я хочу сделать пункт меню Blog – с url example.com/blog/ – где я расскажу о последних статьях. Я создал собственный шаблон страницы и изменил WP_Query так, чтобы он запрашивал список из 10 последних сообщений. Затем я создал страницу и установил ссылку permelink на example.com/blog/ .

Для постоянных /blog/%postname%/ я использую настраиваемую структуру /blog/%postname%/ так что мои сообщения в блоге похожи на example.com/blog/post-name .

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

Или другое решение, о котором я думал, – это заставить обычную страницу архива работать без использования настраиваемой страницы, указывающей на example.com/blog .

Я немного смущен тем, как реализовать решение.

Solutions Collecting From Web of "Создайте собственный URL-адрес для архива блога"

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

Чтобы архив в месяц / категория использовал другой файл шаблона, чем стандартный, вы можете использовать фильтр template_include и функции is_category () и is_date () :

 add_filter( 'template_include', 'inlcude_archive_page_template' ); function inlcude_archive_page_template( $template ) { if ( is_category() || is_date() ) { $new_template = locate_template( array( 'the-archive-page-template.php' ) ); if ( '' != $new_template ) { return $new_template ; } } return $template; } 

Из того, что я понимаю, у вас есть две страницы. Одна страница для домашней страницы, которая находится на панели управления в разделе «Настройки / Чтение», которую вы задали как «Главная страница». И вы также установили страницу «Сообщения» в качестве страницы, созданной под названием «Блог».

И так прямо сейчас, архив сообщений, URL читает «ваш сайт / блог», правильно? Если вы не хотите, чтобы это был «блог», вы можете просто переименовать свою страницу «Блог» как что-то еще и убедиться, что slug – это то, что вы хотите? Поэтому, если вы переименовали эту страницу как «Новости» и под заголовком этой страницы, пока вы ее редактируете, есть опция «Изменить» рядом с постоянной ссылкой, вы можете убедиться, что теперь это новости вместо блога, а затем url должен читать «ваш сайт / новости».