gpt4 book ai didi

php - 搜索结果中的 WordPress 面包屑

转载 作者:可可西里 更新时间:2023-11-01 13:54:01 28 4
gpt4 key购买 nike

在 WordPress 中,我目前使用的是 Yoast's SEO Plugin显示breadcrumbs对于我的页面和帖子,在访问特定页面时工作正常。

这是我用来在我的 WordPress 模板中显示面包屑的函数:

<?php if ( function_exists('yoast_breadcrumb') ) {
yoast_breadcrumb('<p id="breadcrumbs">','</p>');
} ?>

例如,当浏览到 关于我们 的子项 Team Members 时,我得到:

Home > About Us > Team Members

但是我希望能够在搜索结果循环中显示相同的面包屑(针对各个页面和帖子)。

目前搜索Members时显示的是:

Your Search Results:

Team Members 
Home > Search > Members

Members Area
Home > Search > Members

但我不想要搜索结果页面的面包屑,我想要它们作为搜索关键字的结果显示的各个页面和帖子。

例如,假设我再次搜索 Members 我想显示以下内容:

Your Search Results:

Team Members 
Home > About Us > Team Members

Members Area
Home > Members Area

我不介意它是否与 SEO 插件集成,但到目前为止,这是我发现在 WordPress 中显示面包屑的最佳解决方案!

如果有人需要它,这里是我的 search.php 文件:http://pastebin.com/0qjb2954

最佳答案

试试这个。这是我自己的工作片段,它在搜索循环中显示面包屑。

/*Begin Loop */
<?php
echo '<div class="b-search_result_list__item_breadcrumbs breadcrumbs">';

$current_type = get_post_type();
if ($current_type == 'page') {

$parents = get_post_ancestors(get_the_ID());
if($parents){

for($i=count($parents)-1;$i>=0;$i--){
echo '<span typeof="v:Breadcrumb">';
echo '<a rel="v:url" property="v:title" title="'.get_the_title($parents[$i]).'" href="'.get_permalink($parents[$i]).'">'.get_the_title($parents[$i]).'</a>';
echo '</span>';
}
}else{
echo '<span typeof="v:Breadcrumb">';
echo '<a rel="v:url" property="v:title" title="'.get_bloginfo('name').'" href="'.get_bloginfo('url').'">'.get_bloginfo('name').'</a>';
echo '</span>';
}
echo '<span typeof="v:Breadcrumb">';
echo '<span property="v:title">'.get_the_title().'</span>';
echo '</span>';
}else{
$current_obj = get_post_type_object($current_type);

echo '<span typeof="v:Breadcrumb">';
echo '<a rel="v:url" property="v:title" title="'.get_bloginfo('name').'" href="'.get_bloginfo('url').'">'.get_bloginfo('name').'</a>';
echo '</span>';
echo '<span typeof="v:Breadcrumb">';
echo '<a rel="v:url" property="v:title" title="'.$current_obj->labels->name.'" href="'.get_post_type_archive_link( $current_type ).'">'.$current_obj->labels->name.'</a>';
echo '</span>';

$current_taxonomies = get_object_taxonomies($current_type);

if($current_taxonomies){
$current_terms = get_the_terms(get_the_ID(), $current_taxonomies[0]);

if($current_terms){
$current_term = array_shift($current_terms);

echo '<span typeof="v:Breadcrumb">';
echo '<a rel="v:url" property="v:title" title="'.$current_term->name.'" href="'.get_term_link($current_term).'">'.$current_term->name.'</a>';
echo '</span>';

/*
var_dump($current_obj->labels->name); // Archive name
var_dump(get_post_type_archive_link( $current_type )); // Archive link
var_dump($current_term->name); // Term name
var_dump(get_term_link($current_term)); // Term link
var_dump(get_permalink()); // Post link
*/
}
}
echo '<span typeof="v:Breadcrumb">';
echo '<span property="v:title">'.get_the_title().'</span>';
echo '</span>';

}

echo '</div>';
?>
/*End Loop*/

关于php - 搜索结果中的 WordPress 面包屑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26302801/

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