首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >wpmu_blogs_columns过滤器不工作

wpmu_blogs_columns过滤器不工作
EN

WordPress Development用户
提问于 2023-02-06 18:06:53
回答 1查看 53关注 0票数 4

我想在多站点站点页面(sites.php)中添加一个额外的列。在上面找到了这个代码,所以:

代码语言:javascript
运行
复制
add_filter('wpmu_blogs_columns', 'xx_add_expired_date_column');

function xx_add_expired_date_column($site_columns) {
    $site_columns['expired_Date'] = 'Expires';
    return $site_columns;
}

/* Populate site_name with blogs site_name */
add_action('manage_sites_custom_column', 'xx_exipred_date_data', 10, 2);

function xx_exipred_date_data($column_name, $blog_id) {
    $current_blog_details = get_blog_details(array('blog_id' => $blog_id));
    echo ucwords($current_blog_details->blogname);
}

wpmu_blogs_columns过滤器应该在站点屏幕上添加附加列。我把这段代码放在我正在开发的插件中。该插件的其他功能正在正常工作。插件已被网络激活。

当我查看网站列表(网络管理,网站,或通过网络仪表板网站,所有网站),额外的列不存在。

如果我在die()函数后面放一个xx_add_expired_date_column语句,“死”就永远不会发生。

我认为这可能是一个加载顺序错误-也许插件没有被加载到网站页面?可以做些什么来启用这个额外的列?

Added 2023年2月7日

进一步的测试:wpmu_blogs_columns过滤器将在主题的(或子主题的) functions.php文件中工作,但不会在插件中工作。

Added 2023年2月8日

正如即将被接受的答案中所提到的,列数组是$sites_columns (复数'sites')。$column_name是很重要的。答案中的代码将起作用。

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2023-02-08 20:28:56

我测试了您的代码,修复了$colum_name问题,它对我来说很好。

代码语言:javascript
运行
复制
add_filter('wpmu_blogs_columns', function ($site_columns) {
    $site_columns['expired_Date'] = 'Expires';
    return $site_columns;
});

add_action('manage_sites_custom_column', function ($column_name, $blog_id) {
    if ( 'expired_Date' === $column_name ){
        $current_blog_details = get_blog_details(array('blog_id' => $blog_id));
        // do_action( 'qm/debug', ['Details:', $current_blog_details ] );
        echo ucwords($current_blog_details->last_updated);
    }
}, 10, 2);

您必须检查$column_name,否则echo将在所有自定义列中打印。

过滤器和操作都是非常具体的,它们将只在页面/wp-admin/network/sites.php上运行,而在其他地方运行。我尝试了上面的代码,使用了代码片段插件,也作为一个mu,两者工作相同,还没有尝试作为一个插件(也许你可以把所有的东西都包装在一个add_action('plugins_loaded', function(){});钩子中)。

qm/debug是针对插件查询监视器的,WP必须拥有:)

票数 4
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/413584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档