查找当前的帖子ID并将其从wordpress查询中的get_permalink中排除

时间:2014-02-01 16:27:23

标签: php wordpress while-loop compare increment

大家好我需要从预览新闻帖子类型查询中删除页面的当前网址。

<?php
global $post;$current_id = $post->ID;
            if($lang!=('it_IT')){query_posts(array(
                           'category_name'=> 'newseng',
                           'posts_per_page' => -1,
                           'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1,));}
                           else{query_posts(array(
                           'category_name'=> 'news',
                           'posts_per_page' => -1,
                           'paged' => (get_query_var('paged')) ? get_query_var('paged') : 1,));} ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post();
  $url = ( $current_id == $post->ID ) ? '&#35;' : get_permalink(); ?>
<div id="singlenews" class="small-12 medium-6 large-4 columns">
<?php if($lang!=('it_IT')){get_template_part( 'partials/loop', 'newsEng' );}else{get_template_part( 'partials/loop', 'news' );} ?>
                    <a href="<?php echo $url; ?>" title="<?php the_title_attribute(); ?>">
                    <button class="snow"><?php if($lang!=('it_IT')){echo'Read more';}else{echo'Leggi Tutto';} ?></button>
                    </a></div><?php endwhile; ?>
                <?php endif; ?>
                <?php wp_reset_query(); ?>
谁能帮助我吗?我用查询更新了代码,让我们了解循环在查询中......

由于Nathan

,实际情况正常

1 个答案:

答案 0 :(得分:0)

由于您正在将当前网址与帖子的网址进行比较,我认为这是在一个帖子(任何类型的公司网页)上使用而不是存档/类别吗?

如果是这样,一种更有效的方法是比较原始帖子ID和循环中帖子的ID。你想增加什么?无论如何,我的建议基于我迄今所理解的内容。

<?php global $post;

// Post ID will change in loop so store existing ID as a variable.
$current_id = $post->ID;

你的帖子查询就在这里......

然后:

if ( have_posts() ) : while ( have_posts() ) : the_post();
    $url = ( $current_id == $post->ID ) ? '#' : get_permalink(); ?>

    <a href="<?php echo $url; ?>">Read Now</a>
...