Я использую WordPress 4.1. У меня есть две страницы блога на моем сайте, и хотя я действительно не знаю php, я немного поработал и выяснил, как изменить шаблоны страниц, чтобы каждая страница отображала сообщения только для определенной категории. Этот фрагмент кода выглядит следующим образом:
<?php query_posts('cat=2'); ?>
Это отлично работает. На странице A отображаются сообщения из категории 1, а на странице B отображаются сообщения из категории 2.
То, что я хотел бы сделать, это отключить ссылки на заголовки сообщения для одной конкретной категории. Другими словами, на странице A будут отображаться сообщения из категории 1 (со стандартными кликабельными ссылками на заголовки), а на странице B будут отображаться сообщения из категории 2 (с не кликабельными ссылками на заголовки).
Я парень по HTML / CSS, так что здесь я не очень разбираюсь, но если есть способ изменить цикл для достижения этой цели, я бы хотел узнать, как это сделать. Заранее благодарю за любую помощь.
Да, вы можете сделать это с помощью файла темы category.php. Когда эта страница попадает, она загружает определенную запрошенную категорию и сообщения, которые попадают в эту категорию.
Ваша тема и цикл могут выглядеть примерно так:
<?php single_cat_title(); ?>
<?php echo category_description(); ?>
if (have_posts()) : while (have_posts()) : the_post();
/// display posts from specific category
endwhile; endif;
Или, если вы не хотите использовать ту страницу, которая предназначена для этого, вы можете создать свой собственный цикл:
query_posts( array ( 'category_name' => 'my-category-slug', 'posts_per_page' => 50 ) );
Все вместе вот так:
<?php
/* retrieve unlimited # of posts with an category slug of music */
query_posts( array ( 'category_name' => 'music', 'posts_per_page' => -1 ) );
// set $more to 0 in order to only get the first part of the post
global $more;
$more = 0;
// the Loop
while (have_posts()) : the_post();
the_content( 'Read the full post »' );
endwhile;
?>
Других решений пока нет …