GET_POST_CUSTOM()有过滤器吗?

时间:2014-01-21 作者:Leylu

我知道有一个过滤器get\\u post\\u内容可以挂接,但这似乎只适用于get\\u post\\u meta,我需要通过检查元数据键是否匹配来过滤get\\u post\\u custom()的各个值,如:

function filter_custom($meta)
{
    foreach($meta as $k => $v)
    {

        if ($k === \'some_key\') return $v . \'filtered\';

    }
}
add_filter(\'get_post_custom\', \'filter_custom\');
这个有钩子吗?如果不是,那么最好的方法是什么?

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

回答此问题的最快方法是遵循代码。看见get_post_custom 在法典中。向下滚动至Source Code 第节:

get\\u post\\u custom()位于wp-includes/post.php

我们会看到的get_post_custom 呼叫get_post_meta, 然后调用get_metadata, 这就向我们指出:

get\\u metadata()位于wp-includes/meta.php

在这里,我们将最终看到可用的过滤器:

$check = apply_filters( "get_{$meta_type}_metadata", null, $object_id, $meta_key, $single );
在这种情况下,post$meta_type, 所以我们的过滤器是get_post_metadata

结束

相关推荐

意外删除了wp_options数据库表的active_plugins部分

好吧,所以我很确定我在这里完蛋了,因为我没有数据库备份,但我想我还是问问以防万一。在PhpMyAdmin中,我的意思是只需转到wp\\u options表并清空该表中的active\\u plugins部分,因为插件错误而无法登录。我点击了删除按钮,而不是清空它。是否有任何方法可以手动添加此表的active\\u插件部分?我尝试了修复数据库的方法,但没有成功。