提问者:小点点

排除Wordpress帖子在各自的类别中显示


长标题,我知道:)但不管怎样,我想做的是从它各自的类别中隐藏一篇文章。因此,假设我提交一篇文章并将其归档在新闻类别下,我希望它不会出现在相应的类别页面中,如果需要的话。奇怪的要求,我知道。。

我这样做的方式是创建一个名为“hide”的自定义字段,并带有任何值,然后将div类“post”的CSS样式回传到display:none。以下是PHP if语句:

<?php } if($hide) { ?>

echo '<style type="text/css"> .post {display:none;} </style>';

<?php } ?>

当输入自定义字段“隐藏”的任何值时,这将成功隐藏div“帖子”,但问题是...它隐藏了我所有的帖子!!因为我所有的帖子都显示在div类“帖子”下,并且呼应的css风格被应用于所有的. post div,而不仅仅是我进入自定义字段的那个。

看看我的Wordpress帖子,每个帖子都有一个单独的数字和div值。理论上,我可以手动输入每个div的id,并在输入每个post后隐藏每个post,但这会花费太长的时间。

在这一点上,我真的不知道如何解决这个问题,所以它只隐藏了我输入自定义字段的帖子。任何帮助都将不胜感激!:)

更新:我忘了提到我也在使用其他自定义字段来显示帖子。。下面是我的完整php代码的外观:

<?php } if (is_category('audio')) { ?>
<div class="entry-summary">
<?php if (has_post_thumbnail()){ ?>
<?php if($audiohover == '5') { ?>
<div class="view view-fifth">
<?php the_post_thumbnail(); ?>
<div class="mask">
<a href="<?php echo esc_url_raw( $url ); ?>" class="info" target="_blank"><img src="else" /></a>
</div>
</div>

<?php } elseif($audiohover == '6') { ?>
<div class="view view-fifth">
<?php the_post_thumbnail(); ?>
<div class="mask">
<a href="<?php echo esc_url_raw( $url ); ?>" class="info" target="_blank"><img src="else" /></a>
</div>
</div>              

<?php } elseif($audiohover == '4') { ?>
<div class="view view-fifth">
<?php the_post_thumbnail(); ?>
<div class="mask">
<a href="<?php the_permalink(); ?>?fromwhere=audio"" class="info"><img src="img" /></a>
</div>
</div>

<?php } if($hide) { ?>



<?php } ?>

<?php } ?>

<?php } ?>

我想要达到的目的的总结:我想要选择一篇文章是否会显示在其各自的分类页面中。我在新闻类别下发布了一些东西。当我转到新闻类别页面时,我希望能够选择新闻类别下的帖子是否可见。我现在的做法是通过自定义字段。阅读问题,了解它为什么不能正常工作!:(


共1个答案

匿名用户

你可以试试这个:

$hide = get_post_meta( $post->ID, 'hide', TRUE );

if ( $hide != '' ) {
  // Don't display
}
else {
  // Display post
}

已更新

更新中的所有代码都是针对一个类别的,在本例中为audio,因此此条件应位于顶部,如下所示:

<?php
if ( is_category( 'audio' ) ) {
$hide = get_post_meta( $post->ID, 'hide', TRUE );
  if ( $hide != '' ) {
  // Don't display
}
else { ?>

<div class="entry-summary">
<?php if ( has_post_thumbnail() ) { ?>
    <?php if ( $audiohover == '5' ) { ?>
      <div class="view view-fifth">
        <?php the_post_thumbnail(); ?>
        <div class="mask">
          <a href="<?php echo esc_url_raw( $url ); ?>" class="info" target="_blank"><img src="else" /></a>
        </div>
      </div>

      <?php
    }
    elseif ( $audiohover == '6' ) {
      ?>
      <div class="view view-fifth">
        <?php the_post_thumbnail(); ?>
        <div class="mask">
          <a href="<?php echo esc_url_raw( $url ); ?>" class="info" target="_blank"><img src="else" /></a>
        </div>
      </div>

      <?php
    }
    elseif ( $audiohover == '4' ) {
      ?>
      <div class="view view-fifth">
        <?php the_post_thumbnail(); ?>
        <div class="mask">
          <a href="<?php the_permalink(); ?>?fromwhere=audio"" class="info"><img src="img" /></a>
        </div>
      </div>

      <?php  } } } }?>

也就是说,如果我理解正确的话。