在特定位置添加WordPress查询的操作

时间:2019-05-17 作者:Alt C

我想允许用户在wordpress查询之间放置自定义代码。假设如果我创建了一个post查询,我希望在两者之间显示一个图像——例如在第二个post之后,或在第五个post之后。是否可以执行添加操作?这样就可以将应用操作代码放置在两者之间。

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

Yes, absolutely, it is possible.

下面是一个示例:使用一个动作,将post在循环中的位置传递给动作的回调/函数,让回调运行条件并显示图像(如果适用)。

$position = 1; // start at 1
while ( have_posts() ) : the_post();
    the_title( \'<h3>\', \'</h3>\' );

    // Show custom image, if any.
    do_action( \'my_loop_custom_image_at_position\', $position );

    $position++;
endwhile;
回调:(是的,条件可以在上面的循环中完成,但根据你的问题,我想这就是你要找的?)

add_action( \'my_loop_custom_image_at_position\', function( $position ){
    if ( $position > 2 ) {
        echo \'<img src="https://placeimg.com/728/90/any" />\';
    } else { // optional \'else\'
        echo \'Position is less than 2. So we don\\\'t show custom image.\';
    }
} );
PS:在回调中,您可以使用get_post() 获取当前帖子的数据。

相关推荐

使用快速编辑更新POST时,POST_ROW_ACTIONS过滤器不工作

我使用post\\u row\\u操作创建了两个链接,页面加载时显示良好。但使用快速编辑更新帖子后,链接将消失。是WordPress的bug还是我错过了什么。我的代码如下所示。add_filter(\'post_row_actions\', \'add_new_link\', 10, 2); public function add_new_link($actions, $page_object) { $actions[\'new_action\'] = \'<