0

长标题,我知道 :) 但无论如何,我想做的是从其各自的类别中隐藏一个帖子。所以假设我提交了一篇文章并将其归档在新闻类别下,如果需要,我希望它不会出现在其各自的类别页面中。奇怪的要求,我知道..

我这样做的方法是创建一个名为“hide”且具有任何值的自定义字段,然后将 div 类“post”的 CSS 样式回显到display:none. 这是 PHP if 语句:

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

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

<?php } ?>

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

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

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

更新:我忘了提到我还使用其他自定义字段来显示帖子。这是我完整的 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 } ?>

我想要实现的目标摘要:我想选择是否在其各自的类别页面中显示帖子。示例:我在“新闻”类别下发布了一些内容。当我进入新闻类别页面时,我希望能够选择在新闻类别下提交的帖子是否可见。我现在这样做的方式是通过自定义字段。阅读问题,看看为什么它不能正常工作!:(

4

1 回答 1

0

你可以试试这个:

$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  } } } }?>

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

于 2012-12-30T21:02:34.287 回答