如何从下拉列表中删除自定义字段“建议”

时间:2012-11-21 作者:Demilio

在WP中使用标准自定义字段时,必须在第一次写入cusotm字段的名称。

第二次使用自定义字段时,它将粘贴到“自定义字段”下拉列表。但是,有时当你安装插件时,它们会插入许多自定义字段。

此列表变得有点长,可能会将自定义字段的som“推”出列表。那么,有人知道我如何以任何简单的方式从下拉列表中删除自定义字段吗?

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

您可以在上筛选这些关键字的查询\'query\'. 我会尽可能晚地启动过滤器,以避免副作用。

示例代码,tested:

add_filter( \'postmeta_form_limit\', \'wpse_73543_hide_meta_start\' );

function wpse_73543_hide_meta_start( $num )
{
    add_filter( \'query\', \'wpse_73543_hide_meta_filter\' );

    return $num;
}

function wpse_73543_hide_meta_filter( $query )
{
    // Protect further queries.
    remove_filter( current_filter(), __FUNCTION__ );

    $forbidden = array ( \'the\', \'keys\', \'you\', \'want\', \'to\', \'hide\' );
    $where     = "WHERE meta_key NOT IN(\'" . join( "\', \'", $forbidden ) . "\') ";
    $find      = "GROUP BY";
    $query     = str_replace( $find, "$where\\n$find", $query );

    return $query;
}

SO网友:Milo

没有一种方法可以过滤出现在那里的内容,您可以看到它在哪里查询键并在函数中呈现该字段meta_form() 在里面wp-admin/includes/template.php, 但是,您可以看到,它会忽略任何以下划线为前缀的键:

HAVING meta_key NOT LIKE \'\\_%\'
这就是插件应该对他们创建的任何元键执行的操作,以从菜单中隐藏这些键。

你还会看到一个过滤器,postmeta_form_limit, 默认设置为30。您可以增加这个数字,这样您的密钥至少可以包含在列表中,并且不会从末尾掉下来。

另一种选择是create your own meta box 管理特定元数据,而不是使用自定义字段元框。

结束

相关推荐

Server database problem

我刚刚将我的网站从共享服务器转移到VPS,但它并没有启动,当我向VPS技术支持询问时,他们给我发了一封电子邮件,我不理解:-电子邮件您的网站“www.onlinemba.co.in”已经从以前的主机迁移而来,我们现在在访问依赖于数据库的php文件时得到一个空白页面。数据库编码似乎有问题,因为所有其他php文件的访问都很好,数据库连接也没有问题。您可以通过访问网站预览URL来检查相同的内容“http://38.100.101.228/info.php“。您的Kloxo面板详细信息如下URL:XXXXX用户: