Wordpress的在
存档中获取类别()。php
文件在显示类别slug url时返回两个类别的数组,一个不同,与我使用slug的“aktuality博客”类别无关。
这里是
var_dump(获取_类别())
array(2) {
[0]=>
object(WP_Term)#4190 (16) {
["term_id"]=>
int(2)
["name"]=>
string(9) "Aktuality"
["slug"]=>
string(9) "aktuality"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(2)
["taxonomy"]=>
string(8) "category"
["description"]=>
string(0) ""
["parent"]=>
int(0)
["count"]=>
int(18)
["filter"]=>
string(3) "raw"
["cat_ID"]=>
int(2)
["category_count"]=>
int(18)
["category_description"]=>
string(0) ""
["cat_name"]=>
string(9) "Aktuality"
["category_nicename"]=>
string(9) "aktuality"
["category_parent"]=>
int(0)
}
[1]=>
object(WP_Term)#4188 (16) {
["term_id"]=>
int(30)
["name"]=>
string(4) "Blog"
["slug"]=>
string(14) "aktuality-blog"
["term_group"]=>
int(0)
["term_taxonomy_id"]=>
int(30)
["taxonomy"]=>
string(8) "category"
["description"]=>
string(0) ""
["parent"]=>
int(0)
["count"]=>
int(1)
["filter"]=>
string(3) "raw"
["cat_ID"]=>
int(30)
["category_count"]=>
int(1)
["category_description"]=>
string(0) ""
["cat_name"]=>
string(4) "Blog"
["category_nicename"]=>
string(14) "aktuality-blog"
["category_parent"]=>
int(0)
}
}
我只希望数组1是数组0,而不是在那里。我可以通过插入数组[1]category int get_posts的$arg来解决这个问题。
我不需要解决方法,但需要解决方案,如果创建了不同的类别,也可以在不同的类别上工作,只是普通的归档,在类别slug上,我可以简单地浏览它,然后进行本地分页等等,而不是解决方法,我最终必须重写整个cms。
所以在Wordpress中,你可以有多个类别与给定的帖子相关联。
所以你所经历的是一种正常的行为,你只需为你想要的帖子选择一个类别就可以避免这种情况。
所以这里有一些你可以做的事情
从主帖子查询中排除类别。
function exclude_category( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'cat', '-1,-1347' );
}
}
add_action( 'pre_get_posts', 'exclude_category' );
https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts
循环浏览类别并为当前上下文选择重要类别
foreach(get_the_category() as $term){
if($term->slug == 'aktuality'){
// do something
}
}
也许是这个?
安装Yoast插件以允许主要类别,或者使用独立于下面插件的分叉代码。
https://joshuawinn.com/using-yoasts-primary-category-in-wordpress-theme/
分叉代码(没有亲自测试)
<?php
// SHOW YOAST PRIMARY CATEGORY, OR FIRST CATEGORY
$category = get_the_category();
$useCatLink = true;
// If post has a category assigned.
if ($category){
$category_display = '';
$category_link = '';
if ( class_exists('WPSEO_Primary_Term') )
{
// Show the post's 'Primary' category, if this Yoast feature is available, & one is set
$wpseo_primary_term = new WPSEO_Primary_Term( 'category', get_the_id() );
$wpseo_primary_term = $wpseo_primary_term->get_primary_term();
$term = get_term( $wpseo_primary_term );
if (is_wp_error($term)) {
// Default to first category (not Yoast) if an error is returned
$category_display = $category[0]->name;
$category_link = get_category_link( $category[0]->term_id );
} else {
// Yoast Primary category
$category_display = $term->name;
$category_link = get_category_link( $term->term_id );
}
}
else {
// Default, display the first category in WP's list of assigned categories
$category_display = $category[0]->name;
$category_link = get_category_link( $category[0]->term_id );
}
// Display category
if ( !empty($category_display) ){
if ( $useCatLink == true && !empty($category_link) ){
echo '<span class="post-category">';
echo '<a href="'.$category_link.'">'.htmlspecialchars($category_display).'</a>';
echo '</span>';
} else {
echo '<span class="post-category">'.htmlspecialchars($category_display).'</span>';
}
}
}
?>
我有一个项目,其中我创建了一个BankAccount超级类和一个SavingsAccount子类。一切都很好,但我在返回我特别想要的字符串时遇到了麻烦。 示例:(裁剪) 驱动程序类将对BankAccount使用toString方法,并打印以下内容: (这对于这个超类来说是完美的) 但是,下面是SavingsAccount子类 调用SavingsAccount的toString方法时,它会打印: S
Android Kotlin,<代码>api。openOrder返回类型为BaseResponse 我想要的代码是,如果配置文件。值不为null,API返回BaseResponse 但android studio提示,这种有趣的返回类型是任何,如何修复? 排除if-else用法,因为配置文件。值具有许多属性,并且具有配置文件。价值用户名,
我用静态html为我的网站创建了一个移动应用程序,现在我想使用ajax来获取我的帖子、页面、标题、图像等..从我的wordpress原始网站。 为此,我认为最好的解决方案是使用JSON API插件- 我已经安装了,它在页面中运行良好,除了主页,它没有为我的移动应用程序发送正确的想法。 有人知道问题是什么吗?这是我的wordpress网站的问题还是插件问题? 它在发送这个: 如果你观察,它是返回一个
我正在建立一个弹性搜索索引,并希望它的行为(返回结果)某种方式。我已经建立了父母/孩子的关系。 我已经用一些“父”文档和一堆父文档设置正确的“子”文档填充了它。 当我使用普通搜索查询搜索内容时,我当然会返回所有匹配的文档。父文档和子文档,但两者之间没有联系。如果我使用has_child筛选器搜索内容,它将正确地搜索子文档,并向我返回匹配的父文档: 问题是,我想搜索孩子,并在一个文档中找回父母和孩子
我得到了这个错误:这个表达式的类型是'void',所以它的值不能被使用。尝试检查是否使用了正确的API;可能会有一个函数或调用返回您意想不到的void。还要检查类型参数和变量,它们也可能是空的。 代码: null null 我不明白这是什么。我是新手。这是我的第一个应用程序。有人能帮我一下吗。
如果我有 我可以使用什么代码使其永久化?我还没有尝试过任何方法,我发现很难得到这个具体的信息。 谢谢