Intereting Posts
Различные идентификаторы в каждом коротком коде Пользовательский запрос_var вызывает отображение архива сообщений на главной странице WordPress function.php на ZendFramework CMS Использование gettext в wp-login.php не изменит текст «Назад к имени сайта» Могу ли я безопасно удалить запись вручную, в таблице postmack wp? WordPress автоматически связывает электронные адреса электронной почты Удаление страницы администратора, добавленной сторонним плагином. Гравитационные формы в этом примере Проверка наличия страницы по названию? Правильный способ вставить созданный скрипт, который не находится в файле .js? Лучший способ обновления WordPress и плагинов wp_query за прошлый месяц + сортировать сообщения Перенос сайта wordpress с веб-сервера на localhost Как перевести сообщение об ошибке: ОШИБКА: Поле пароля пуст Можно ли показывать полное содержание сообщения, когда в сетке есть только одно сообщение? Как я могу использовать echo og: video url, если сообщение имеет видеоконтент?

Ведение отдельной страницы сообщений для определенных категорий и не показывать их на главной странице

У меня есть личный блог, где я пишу общие сообщения. Я решил, что мне редко приходится публиковать о какой-то другой теме (скажем, это кошки), которая интересует совсем другую аудиторию, а затем мою нынешнюю. Поэтому я хочу иногда писать о кошках, но я хочу, чтобы эти записи кошек не отображались на главной странице сообщений на моей домашней странице. Я хотел бы иметь отдельную страницу, где все сообщения кошек появляются и где я управляю URL страницы (например, «site.com/cats»).

Одна из моих идей заключалась в следующем:

  1. Пометьте все записи кошек определенным тегом (например, «кошки»)
  2. На главной странице сообщений отфильтруйте сообщения с тегом «cats», а также в «последних сообщениях», появляющихся на моей домашней странице
  3. Каким-то образом ссылайтесь на страницу site.com/cats на страницу тегов «кошек», только показывая сообщения с меткой «кошки»,

Моя проблема в том, что я не мог найти простой способ сделать (2) и (3). Есть ли способ сделать это? Мой сайт здесь .

Solutions Collecting From Web of "Ведение отдельной страницы сообщений для определенных категорий и не показывать их на главной странице"

Лучший способ – просто добавить категорию кошек и отфильтровать их на домашней странице с помощью фильтра pre_get_posts.

function kill_kittens( $query ) { if ( $query->is_home ) { $query->set( 'cat', '-23' ); //assumes the cats category id is 23 } } add_action( 'pre_get_posts', 'kill_kittens' ); 

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

 <?php /** * Template Name: kitties */ get_header(); ?> <div id="kittens"> <?php $kitty_query = new WP_Query( 'cat' => 23 ); //assuming again cat category id is 23 while ( $kitty_query->have_posts() ) : $kitty_query->the_post(); //do stuff endwhile; wp_reset_postdata(); ?> </div> <?php get_sidebar(); get_footer(); 

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

 <?php if (is_home()) { global $wp_query; $wp_query->set("tag__not_in", array(1)); $wp_query->get_posts(); } ?> 

В приведенном выше tag__not_in используются tag__not_in query (просмотреть страницу codex для параметров). Тег вам потребуется идентификатор тега (доступен в URL-адресе при просмотре указанного тега в области WP-Admin: Posts / Tags / Cats .

Чтобы использовать что-то другое, кроме is_home, посмотрите здесь дополнительные параметры: http://codex.wordpress.org/Conditional_Tags

Чтобы отображать сообщения с тегом кошек, вы можете использовать:

 <?php global $wp_query; $args = array( 'tag' => 'cats', 'order' => 'ASC' ); query_posts( $args ); // The Loop while ( have_posts() ) : the_post(); echo '<li>'; the_title(); echo '</li>'; endwhile; wp_reset_query(); // Reset Query ?> 

На странице codex для query_posts есть хорошая информация о параметрах или подробное объяснение того, что происходит в коде выше: http://codex.wordpress.org/Function_Reference/query_posts

Для вашего вопроса относительно перенаправления:

site.com/cats на странице тегов 'cats', только показывая сообщения с тегами 'cats'

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