Обновил. Но погоды это не сделало.
Сделал откат на более раннее состояние как файлов так и БД.
Изменил URL страниц. У меня были одинаковые имена с именами post-type.
Т.е. к примеру есть post-type «news» и страница localhost/project/news поменял на localhost/project/novosti
Докинул в свою тему свои php-файлы последние. Обновил постоянные ссылки. В итоге ссылки заработали.
Но теперь когда я захожу на новости и в списке щелкаю переход читать новость..у меня почему то переходит на пост из общей категории постов а не кастомных.
Выборку по кастомному типу для списка новостей делаю так:
<?php
$posts = get_posts( array(
'numberposts' => 0,
'orderby' => 'date',
'order' => 'ASC',
'include' => array(),
'exclude' => array(),
'meta_key' => '',
'meta_value' =>'',
'post_type' => 'news',
'suppress_filters' => true,
) );
foreach( $posts as $post ){
setup_postdata($post);
?>
<div class="news-item">
<a href="<?php the_permalink()?>" class="post-img-a"><img src="<?php the_post_thumbnail_url()?>" alt="<?php the_title()?>" class="news-item__img"></a>
<h3 class="news-item-header"><?php the_title()?></h3>
<p class="news-item-content"><?php echo strip_tags(get_the_excerpt(), '<p>'); ?></p>
<div class="news-detail-wrapper">
<p class="data-post"><?php echo get_the_date() ?></p>
<p class="news-detail"><a href="<?php the_permalink()?>" class="detail-inner">Читать далее</a></p>
</div>
</div>
<?php }
wp_reset_postdata();
if(count($posts) == 0){?>
<p class="absent_goods">В данной категории нет новостей!</p>
<?php } ?>
и через и по url видно что адрес правильный. Однако содержимое не верно.
Как вообще происходит передача в single-(post-type).php информации какой пост выводится? Я сделал свой single-news.php на основе single.php созданный в underscores.me
ниже привожу ту часть кода которая относится в выводу информации поста:
<?php
while ( have_posts() ) :
the_post();
echo "post_number = ".get_the_ID() ;
get_template_part( 'template-parts/content', get_post_type() );
?>
<div class="news-item">
<div class="news-item__img_wrapper">
<img src="<?php the_post_thumbnail_url()?>" alt="<?php the_title()?>" class="news-item__img">
</div>
<h3 class="news-item-header"><?php the_title()?></h3>
<p class="news-item-content"><?php echo strip_tags(get_the_content(), '<p>'); ?></p>
<p class="data-post"><?php echo get_the_date() ?></p>
</div>
<?php
the_post_navigation();
// If comments are open or we have at least one comment, load up the comment template.
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
endwhile; // End of the loop.
?>
-
Ответ изменён 4 года, 2 месяца назад пользователем shiva2019.