如何在wordpress博客中添加自定义过滤器?

时间:2017-05-13 16:56:00

标签: php mysql wordpress

我在wordpress网站上使用简单字段,因此用户可以在管理员中“标记”不同的字段。

现在,在前端视图中,我想显示一个带有可用的不同选项(不同标签)的下拉列表,以便用户可以过滤帖子。

我知道我需要修改一些PHP代码,我找到了需要触摸的确切文件,但我不知道从哪里开始。

我的问题是,如果我可以添加一些自定义的PHP代码,调用mysql查询然后添加该记录集来填充下拉列表,或者有更简单的方法来执行此操作?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

可能你在WordPress中寻找add_filter()功能。

由于您的问题太广泛,我只是向您提供一些有助于您入门的示例。首先,在functions.php文件中添加类似于下面的函数,

function add_custom_tags($tags) {

    /** you can do a query to get these tags from database */
    $extra_tags = array(
        'tag1',
        'tag2',
        'tag3'
    );

    $tags = array_merge($extra_tags, $tags);
    return $tags;
}
add_filter('dropdown_tags', 'add_custom_tags');

其中,dropdown_tags是过滤器的名称,add_custom_tags是应用过滤器时要运行的函数。

然后,您可以在下拉列表函数中使用此过滤器,如下所示,

if(has_filter('dropdown_tags')) {
    $tags = apply_filters('dropdown_tags', $tags);
}

其中$tags是下拉列表中的当前字段。

您可以找到add_filter函数here的好例子。