gpt4 book ai didi

php - 使用 PolyLang 按类别和语言获取帖子

转载 作者:可可西里 更新时间:2023-10-31 22:40:27 27 4
gpt4 key购买 nike

我正在创建一个插件,我已经可以使用 WordPress 的 get_posts() 函数按类别和当前语言获取帖子,并使用 PolyLang 的 pll_current_language() 传递属性 lang。

$args = array(
'posts_per_page' => 6,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => 'post',
'post_status' => 'publish',
'lang' => pll_current_language()
);
return get_posts($args);

现在,我想知道如何按与语言相关的类别获取帖子?例如,我有英语新闻类别和西类牙语新闻类别。如何自动设置?

像这样:

$args = array(
......
'category' => **current_category_for_this_language**
......
);
return get_posts($args);

有什么想法吗?

最佳答案

使用 pll_get_term 并按类别过滤。在这种情况下,“34”是我的术语 ID(通过悬停术语的编辑链接获得)。

顺便说一句,据我所知,get_posts 默认只获取当前页面语言的帖子,默认情况下它获取按日期 DESC 排序的帖子,所以我认为你可以从你的查询中省略那些。

$args = array(
'posts_per_page' => 6,
'category' => pll_get_term(34)
);
return get_posts($args);

来源

https://polylang.wordpress.com/documentation/documentation-for-developers/functions-reference/

pll_get_term

Returns the category (or post tag) translation

Usage:

pll_get_term($term_id, $slug);

‘$term_id’ => (required) id of the term you want the translation

‘$slug’ => (optional) 2-letters code of the language, defaults to current language

https://codex.wordpress.org/Template_Tags/get_posts

Default Usage

<?php $args = array(
'posts_per_page' => 5,
'offset' => 0,
'category' => '',
'category_name' => '',
'orderby' => 'date',
'order' => 'DESC',
'include' => '',
'exclude' => '',
'meta_key' => '',
'meta_value' => '',
'post_type' => 'post',
'post_mime_type' => '',
'post_parent' => '',
'author' => '',
'author_name' => '',
'post_status' => 'publish',
'suppress_filters' => true
);
$posts_array = get_posts( $args ); ?>

关于php - 使用 PolyLang 按类别和语言获取帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44672543/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com