美好的一天
我正在使用Wordpress,我使用的是breadcrumbs插件(Breadcrumb NavXT)。现在它运行良好,我希望自定义链接到特定链接的方式:
现在的情况如下:
我有一个页面,在页面上是帖子的链接。因此,当您单击页面上的某个链接时,它会将您带到帖子中。现在这个帖子属于名为Drill Rigs的类别,而Drill Rigs属于产品的子类别。
现在,帖子页面上有“产品>钻井平台”(父/子)类别,面包屑显示如下:
Home>products>drill rigs>postname
问题是,您点击上面的产品链接,它会转到产品的类别页面:
siteurl/category/products
而不是被称为产品的实际wordpress页面(包含链接到上述帖子的链接:
siteurl /页面的绝对链接,这是一个独特的链接,例如。 SITEURL / 803-2
据我所知,你不能改变一个类别(帖子中唯一的)到一个页面的路径,无论是在wordpress还是插件中。
我能想到的最好的方法是将自定义jquery或php添加到帖子php页面(或索引/标题页面),查找包含托管标题“products”的锚标记的容器div ...和然后用我的自定义唯一页面网址替换该锚标记...
我该怎么做......?
答案 0 :(得分:1)
function the_breadcrumb() {
$sep = '/';
if (!is_front_page()) {
echo '<div class="breadcrumbs">';
echo '<a href="';
echo get_option('home');
echo '">';
bloginfo('name');
echo '</a>' . $sep;
if (is_category() || is_single() ){
the_category('title_li=');
} elseif (is_archive() || is_single()){
if ( is_day() ) {
printf( __( '%s', 'text_domain' ), get_the_date() );
} elseif ( is_month() ) {
printf( __( '%s', 'text_domain' ), get_the_date( _x( 'F Y', 'monthly archives date format', 'text_domain' ) ) );
} elseif ( is_year() ) {
printf( __( '%s', 'text_domain' ), get_the_date( _x( 'Y', 'yearly archives date format', 'text_domain' ) ) );
} else {
_e( 'Blog Archives', 'text_domain' );
}
}
if (is_single()) {
echo $sep;
the_title();
}
if (is_page()) {
echo the_title();
}
if (is_home()){
global $post;
$page_for_posts_id = get_option('page_for_posts');
if ( $page_for_posts_id ) {
$post = get_page($page_for_posts_id);
setup_postdata($post);
the_title();
rewind_posts();
}
}
echo '</div>';
}
}
尝试这个希望,这可能对你有帮助
答案 1 :(得分:1)
在这里尝试使用function.php中的nav Navxt插件
答案 2 :(得分:1)
此代码适用于您帖子的异步内容:(复制到functions.php中)
function ariane() {
$cat_id = get_the_category()[0]->term_id;
$breadcrumb = '<li>' . get_the_title() . '</li>';
$if_parent = TRUE;
while($if_parent == TRUE) :
$cat_object = get_category($cat_id);
$cat = $cat_object->term_id;
$categoryURL = get_category_link($cat);
$name = $cat_object->name;
$cat_id = $cat_object->parent;
$add_link = '<li><a href="' . $categoryURL . '">' . $name . '</a></li>';
$breadcrumb = substr_replace($breadcrumb, $add_link, 0, 0);
if($cat_id == 0) :
$if_parent = FALSE;
endif;
endwhile;
echo '<ul>' . $breadcrumb . '</ul>';
}
在您的archive.php或WP_QUERY循环中
<div class="ariane"><?php ariane(); ?></div>
在CSS中:
.ariane ul{
display: flex;
justify-content: flex-start;
align-items: center;
}
.ariane li:not(:last-child):after {
content: '>';
margin: 0 5px;
}
答案 3 :(得分:0)
您可以使用该功能通过编码来设置您的面包屑:
function the_breadcrumb() {
if (!is_home()) {
echo '<a href="';
echo get_option('home');
echo '">';
echo "Home";//bloginfo('name');
echo "</a> / ";
if (is_category() || is_single()) {
the_category('title_li=');
if (is_single()) {
echo " / ";
the_title();
}
} elseif (is_page()) {
echo the_title();
}
}
}
将上述代码放在function.php文件中
你必须只调用你想要显示bredcrumb的函数
<?php the_breadcrumb(); ?>
希望这会对你有帮助......
答案 4 :(得分:0)
<script type="text/javascript">
$('#breadcrumbs .category[href="http://mysite.com/category/products"]').attr('href','http://mysite.com/803-2');
</script>
其中:
http://mysite.com/803-2
是p [我希望链接到...的年龄的网址...