Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从内容()wordpress中排除类别_Wordpress - Fatal编程技术网

从内容()wordpress中排除类别

从内容()wordpress中排除类别,wordpress,Wordpress,提前感谢您寻找并提供任何帮助,我对此了解有限 我正试图从WordPress循环中排除一个类别,因此任何发布到该类别的内容都不会发布在博客页面上。我尝试在下面添加一个函数 function remove_home_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '-4' ); } } add_action(

提前感谢您寻找并提供任何帮助,我对此了解有限

我正试图从WordPress循环中排除一个类别,因此任何发布到该类别的内容都不会发布在博客页面上。我尝试在下面添加一个函数

function remove_home_category( $query ) {
 if ( $query->is_home() && $query->is_main_query() ) {
    $query->set( 'cat', '-4' );
   }
 }
add_action( 'pre_get_posts', 'remove_home_category' ); 
我没有建立博客页面,但它看起来是非常定制的,任何帮助都是非常感谢的。以下是我在模板中的内容

<div>
<?php
        get_template_part( 'parts/blog', 'header' );
        get_template_part( 'parts/blog', 'featured' );
        get_template_part( 'parts/blog', 'editor-picks' );

?>
</div>
<div class="container wpc-container" style=" <?php echo ( !empty($hgr_page_top_padding) ? ' padding-top:'.esc_attr($hgr_page_top_padding).'px!important;' : '' ); echo ( !empty($hgr_page_btm_padding) ? ' padding-bottom:'.esc_attr($hgr_page_btm_padding).'px!important;' : '' );?> ">
  <div class="slideContent gu12">
    <?php the_content(); ?>
    <?php if(is_paged()) : ?>
  <?php paginate_comments_links(); ?>
  <?php endif;?>
  <?php comments_template(); ?>
  <?php if(is_paged()) : ?>
  <?php paginate_comments_links(); ?>
  <?php endif;?>

  </div>
</div>


乍一看,我怀疑是钩住函数中的
$query->is\u main\u query()
条件。如果代码正在运行,并且该模板中不存在主循环的标准代码,则此函数将仅返回
true

<div>
<?php
        get_template_part( 'parts/blog', 'header' );
        get_template_part( 'parts/blog', 'featured' );
        get_template_part( 'parts/blog', 'editor-picks' );

?>
</div>
<div class="container wpc-container" style=" <?php echo ( !empty($hgr_page_top_padding) ? ' padding-top:'.esc_attr($hgr_page_top_padding).'px!important;' : '' ); echo ( !empty($hgr_page_btm_padding) ? ' padding-bottom:'.esc_attr($hgr_page_btm_padding).'px!important;' : '' );?> ">
  <div class="slideContent gu12">
    <?php the_content(); ?>
    <?php if(is_paged()) : ?>
  <?php paginate_comments_links(); ?>
  <?php endif;?>
  <?php comments_template(); ?>
  <?php if(is_paged()) : ?>
  <?php paginate_comments_links(); ?>
  <?php endif;?>

  </div>
</div>

您可以通过从钩住的函数中删除该条件,或者在输出页面内容时重写模板以使用标准循环来修复(从长远来看,这可能是更好的方法,因为WP中有很多其他东西只会在循环中始终起作用).

你在theme的functions.php文件中添加了钩子?嘿,是的,我在functions.php中添加了钩子,但是每当我发布文章时,它都会显示在主提要中。我还应该注意,它使用了一个名为navy的主题,博客页面不是主页。好的,如果它不是主页,你可以尝试删除is_home()这也不行。谢谢你的回复!这也不起作用,帖子仍然显示在主提要的博客页面上。请确保钩住的代码确实在该页面上运行——删除钩住函数的所有内容,并用消息替换它们,例如,
wp_die('此函数真的运行了吗?')然后重新加载博客页面。如果页面在加载过程中与传递给wp_die()的消息一起消失,那么您至少知道挂接到了正确的位置。如果它没有死掉,那么问题是你挂错了钩子。看起来我挂错了位置,只要重新加载消息而不是博客内容,我就挂错了。