我想在第一篇文章的内容中加入一个小部件区域。但我的问题是,我不知道如何只获取函数中的第一篇帖子。以下是我的功能:
function pietergoosen_insert_content_filter( $content ) {
ob_start();
$sidebar = dynamic_sidebar(\'sidebar-19\');
$new_content = ob_get_clean();
if ( ! is_admin() ) {
return pietergoosen_insert_content( $new_content, 2, $content );
}
return $content;
}
如果我更换
if ( ! is_admin() ) {
使用
if ( ! is_admin() || is_paged() || $wp_query->current_post > 0 ) {
它在所有其他帖子中显示小部件,而不是在第一篇帖子中。对此的条件标记有何建议
最合适的回答,由SO网友:s_ha_dum 整理而成
假设您试图只向循环中的第一篇文章添加内容,那么静态变量应该可以做到这一点:
function pietergoosen_insert_content_filter( $content ) {
static $first;
$first = (!isset($first)) ? true : false;
if (true == $first) {
ob_start();
$sidebar = dynamic_sidebar(\'sidebar-19\');
$new_content = ob_get_clean();
if ( ! is_admin() ) {
return pietergoosen_insert_content( $new_content, 2, $content );
}
}
return $content;
}
add_filter(\'the_content\',\'pietergoosen_insert_content_filter\');