Genesis框架:如何将特定作者排除在存档自定义循环之外

时间:2017-12-19 作者:Angelos Kyritsis

我在我的网站上使用Genesis框架,并在我的函数中添加了以下代码。php自定义归档循环。

//* Archive Custom Loop
function archive_custom_loop() {

    echo \'<div class="archive-pagination">\';

next_posts_link(\'<div class="proigoumeno">Previous Posts &raquo;</div>\', $loop ->max_num_pages);
previous_posts_link(\'<div class="epomeno">&laquo; Newer Posts</div>\', $loop ->max_num_pages);

    echo \'</div>\';

    while (have_posts()) : the_post();
    ?>

<div class="lista"><a href="<?php the_permalink() ?>" target="_blank" style="font-weight: 700;"><?php the_title() ?></a><br><p class="entry-meta"><span class="entry-author"><?php the_author_posts_link(); ?></span><span class="provoles"><?php do_action( \'pageviews\' ); ?> <img src="https://www.pcsteps.com/wp-content/uploads/2017/05/views.png" alt="Views"></span><span class="imerominia">Posted: <?php the_date() ?></span></p></div>

<div class="eikona"><a href="<?php the_permalink() ?>" target="_blank"><?php the_post_thumbnail( array(360, 200) ); ?></a></div>

<div class="perilipsi"><?php $content = get_the_excerpt(); echo mb_strimwidth($content, 0, 500, \'...\'); ?></div>

<div class="diaxwristiko"></div>

    <?php
    endwhile;

    echo \'<div class="archive-pagination">\';

next_posts_link(\'<div class="proigoumeno">Previous Posts &raquo;</div>\', $loop ->max_num_pages);
previous_posts_link(\'<div class="epomeno">&laquo; Newer Posts</div>\', $loop ->max_num_pages);

    echo \'</div">\';

}
我想要的是选择一个作者ID,并将其从存档中完全排除。

我读过the codex for the loop, 但是语法有点不同,我不知道如何实现它。

1 个回复
最合适的回答,由SO网友:Elex 整理而成

你可以用pre_get_posts 钩在WP\\U查询中,有一个author 参数:https://codex.wordpress.org/Class_Reference/WP_Query#Author_Parameters

pre_get_posts 挂钩:https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

function wpse_288986_remove_post_from_author($query) {
    // We have to check if we are in front and if the query is the main query
    if(!is_admin() && $query->is_main_query() && is_archive())
    {
        $query->set(\'author\', -2); // Where 2 is your user ID
    }
}
add_action(\'pre_get_posts\', \'wpse_288986_remove_post_from_author\');
编辑:此代码进入functions.php 文件

结束

相关推荐

从gensis_loop中删除gensis_404挂接

我正在使用genesis主题,我想定制一个404页面。为此,我希望删除默认的404钩子并实现我自己的钩子。在我的插件函数中。php我添加了我的操作:add_action( \'genesis_loop\', \'genesis_customizations_404\' ); 在函数中,我添加了删除:function genesis_customizations_404() { echo \'test\'; remove_action(\'genesis_loop\',

Genesis框架:如何将特定作者排除在存档自定义循环之外 - 小码农CODE - 行之有效找到问题解决它

Genesis框架:如何将特定作者排除在存档自定义循环之外

时间:2017-12-19 作者:Angelos Kyritsis

我在我的网站上使用Genesis框架,并在我的函数中添加了以下代码。php自定义归档循环。

//* Archive Custom Loop
function archive_custom_loop() {

    echo \'<div class="archive-pagination">\';

next_posts_link(\'<div class="proigoumeno">Previous Posts &raquo;</div>\', $loop ->max_num_pages);
previous_posts_link(\'<div class="epomeno">&laquo; Newer Posts</div>\', $loop ->max_num_pages);

    echo \'</div>\';

    while (have_posts()) : the_post();
    ?>

<div class="lista"><a href="<?php the_permalink() ?>" target="_blank" style="font-weight: 700;"><?php the_title() ?></a><br><p class="entry-meta"><span class="entry-author"><?php the_author_posts_link(); ?></span><span class="provoles"><?php do_action( \'pageviews\' ); ?> <img src="https://www.pcsteps.com/wp-content/uploads/2017/05/views.png" alt="Views"></span><span class="imerominia">Posted: <?php the_date() ?></span></p></div>

<div class="eikona"><a href="<?php the_permalink() ?>" target="_blank"><?php the_post_thumbnail( array(360, 200) ); ?></a></div>

<div class="perilipsi"><?php $content = get_the_excerpt(); echo mb_strimwidth($content, 0, 500, \'...\'); ?></div>

<div class="diaxwristiko"></div>

    <?php
    endwhile;

    echo \'<div class="archive-pagination">\';

next_posts_link(\'<div class="proigoumeno">Previous Posts &raquo;</div>\', $loop ->max_num_pages);
previous_posts_link(\'<div class="epomeno">&laquo; Newer Posts</div>\', $loop ->max_num_pages);

    echo \'</div">\';

}
我想要的是选择一个作者ID,并将其从存档中完全排除。

我读过the codex for the loop, 但是语法有点不同,我不知道如何实现它。

1 个回复
最合适的回答,由SO网友:Elex 整理而成

你可以用pre_get_posts 钩在WP\\U查询中,有一个author 参数:https://codex.wordpress.org/Class_Reference/WP_Query#Author_Parameters

pre_get_posts 挂钩:https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts

function wpse_288986_remove_post_from_author($query) {
    // We have to check if we are in front and if the query is the main query
    if(!is_admin() && $query->is_main_query() && is_archive())
    {
        $query->set(\'author\', -2); // Where 2 is your user ID
    }
}
add_action(\'pre_get_posts\', \'wpse_288986_remove_post_from_author\');
编辑:此代码进入functions.php 文件

相关推荐

Generating a perfect loop

所以我现在已经在这里坐了大约三个小时了,我不得不让这件事过去几个小时来好好睡一觉,同时我希望能得到你的帮助。我已经能够使用$wpdb->get\\u results从数据库中获取内容,并且能够将它们放入一个数组中,但是我想使用这些信息在循环中运行一个新的查询,以获取列表中的多个项目。我使用了本指南的一个变体https://stackoverflow.com/questions/45848249/woocommerce-get-all-orders-for-a-product 获取订单ID。现在,我已