Wordpress запрос связанных пост по тегу - PullRequest
0 голосов
/ 10 сентября 2011

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

<?php
$c = 1; //init counter
$bpr = 3; //boxes per row
if(have_posts()) : while (have_posts()) : the_post(); ?>
<div class="postgrid" id="post-<?php the_ID(); ?>">

<div class="postthumb">
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail('grid-post-image'); ?></a><div class="borderthumb"></div><div class="posttitle"><h1><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h1>
   <p><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">Click for more</a></p></div>
  </div>
</div>

<?php
if($c == $bpr) :
?>
<?php
$c = 0;
endif;
?>
<?php
        $c++;
    endwhile;
endif;
?>

Я нашел это: Wordpress Запрос связанных сообщений по тегу

Это казалось многообещающим, но когда я попытался интегрировать его как ..

<?php
$c = 1; //init counter
$bpr = 3; //boxes per row
$test = "";
$posttags = get_the_tags();
$test = '';
$sep = '';
if ($posttags) {
    foreach($posttags as $tag) {
        $test .= $sep . $tag->name; 
        $sep = ",";
    }
}
query_posts('tag=' .$test . '&showposts=-1');  if(have_posts()) : while (have_posts()) : the_post(); ?>

это, к сожалению, ничего не сгенерировало,любая помощь?

Спасибо!Я думаю, что эти два сценария противоречат друг другу, и я не php whizz.

1 Ответ

0 голосов
/ 10 сентября 2011

Из спецификации для query_posts:

* Вы не должны использовать query_posts() для создания вторичных списков (например, список связанных постов внизу страницы).или список ссылок в виджете боковой панели).Вместо этого вы должны создать новый экземпляр WP_Query или использовать get_posts(). *

Попробуйте get_posts():

    $posts = get_posts('tag=' .$test); foreach($posts as $post){ setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<? } ?>

Вам необходимо убедиться, что$test на самом деле является допустимым тегом или набором тегов.

...