如何在WordPress字母顺序的帖子的最后一个词在文章标题

这是一个方便的片段,我忘记了,但过去几个项目上使用。这可以非常方便的如果你有职位的人的名字,所以第一个和最后一个,你需要订单循环中的帖子的姓,我。e代表一个目录。

有两部分实现这个目标,一个是创建一个函数命令的最后一个单词按字母顺序,另一个是循环微小的修改,如在WP_Query然后使用我们在第一步中创建的新功能。

步骤1。

将功能添加到您的功能。php文件:

add_filter (posts_orderby,函数($ orderby \ WP_Query问美元){如果(“wpse_last_word”= = = $ q - >得到(“orderby”) & & $ get_order = $ q - >(“订单”)){如果(in_array (strtoupper (get_order美元),(‘ASC’,‘DESC))){全球wpdb美元;orderby美元= " SUBSTRING_INDEX ({$ wpdb - >文章}。post_title”、“, 1)”。get_order美元。”,{$ wpdb - >文章}。post_title”。get_order美元;}}返回orderby美元;},PHP_INT_MAX 2);

步骤2。

添加新的orderby线在你循环使用新功能订购你的帖子:

$ args =阵列(“post_type”= >“my_post_type”,“orderby”= >“wpse_last_word”、“秩序”= >“ASC”,“posts_per_page”= > 1);

小贴士:

如果你想强制分类,分类等自定义类型,您可以添加另一个过滤目标任何默认循环使用以下模板:

add_filter (“pre_get_posts”、“pro_orderby_last_name”);查询函数pro_orderby_last_name(美元){如果(is_taxonomy (my_taxonomy)){$查询- > query_vars (“orderby”) =“wpse_last_word”;$查询- > query_vars(“订单”)=“ASC”;}返回查询美元;}

有用的帖子吗?分享它

留下一个回复

你的电子邮件地址将不会被发表。必填字段标记*

Baidu
map