根据归档文件中的分类筛选器更改标题-{cpt}.php

时间:2018-11-11 作者:Syamsul Alam

所以我有自定义帖子类型的页面RENTAL 使用以下自定义分类:

  • Merk -- 条款:本田、大发、丰田等Kendaraan -- 母公司术语:Mobil、Bus、Motor&;子术语:MPV、掀背车、轿车等Seat -- 条款:2座、4座、8座等

    What I Wanted to Achieve

    我希望根据用于筛选的分类法更改带有分类法筛选器的存档页面中的标题H1,例如:

    https://example.com/rental/?kendaraan=mobil&merk=honda&seat=2seat
    
    标题:Rental Mobil Honda (2 Seat)

    https://example.com/rental/?kendaraan=sedan&merk=honda&seat=4seat
    
    标题:Rental Mobil Sedan Honda (4 Seat) (注:“Sedan”是“Mobil”的后代)

    https://example.com/rental/?kendaraan=sedan&merk=honda
    
    标题:Rental Mobil Sedan Honda (注:“Sedan”是“Mobil”的后代)

    我还希望它在没有过滤分类法的情况下有不同的标题。

    https://example.com/rental/
    
    标题:Rental Mobil, Bus, Motor

    不幸的是,我的代码可以实现我想要的“一些”。但标题总是选择分类法,即使它没有经过筛选。

    $merk = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'merk\', \'Merk \', \'\', \' \') );
    $kendaraan = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'kendaraan\', \'\', \'\', \' \') );
    $kendaraanParent = get_term_parents_list( get_the_ID(), \'kendaraan\' );
    $seat = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'seat_mobil\', \'(\', \'\', \')\' ) );
    
        <header class="archive-header">
    <h1 class="archive-title">
    Rental <?php echo $kendaraan ; ?><?php echo $merk ; ?><?php echo $kendaraanParent->name ; ?><?php echo $seat ; ?> - TravelBos.id
    </h1>
    </header><!-- .archive-header -->
    
    当我过滤所有三种分类法时,上面的代码非常有用。

    https://example.com/rental/?kendaraan=sedan&merk=honda&seat=4seat
    
    但当过滤两个、一个或没有分类法时,它变得很愚蠢。

    有什么想法吗?非常感谢。

1 个回复
最合适的回答,由SO网友:Syamsul Alam 整理而成

我会自己回答这个问题,因为我在咨询了我的程序员朋友后找到了解决方案。

基本上,我上面发布的代码是错误的,事实证明我不应该使用get_the_term_list 但要使用get_query_var 相反

最后的代码是用以下代码替换我发布的上述代码:

编辑:更改一些东西以调用适当的“分类名称”,因为分类slug可能与分类名称不同。信用@米洛。

<?php
// get the currently queried taxonomy term, for use later in the template file
$kendaraan = get_query_var(\'kendaraan\');
$merk = get_query_var(\'merk\');
$seat = get_query_var(\'seat\');
$kendaraan = get_term_by( \'slug\', $kendaraan, \'kendaraan\' );
$merk = get_term_by( \'slug\', $merk, \'merk\' );
$seat = get_term_by( \'slug\', $seat, \'seat\' );
?>

<h1 class="archive-title">Rental 
<?php if ( empty( $kendaraan ) && empty( $merk ) && empty( $seat ) ): ?>
Mobil, Bus, & Motor - TravelBos.id
<?php else: ?>
<?php echo $kendaraan->name; ?> <?php echo $merk->name; ?> <?php if (!empty($seat)) {echo "(". $seat->name .")";} ?> - TravelBos.id
<?php endif; ?>
</h1>
现在,在查看特定归档页面时,此代码将使H1归档标题能够根据过滤的分类法进行更改。

希望它能帮助任何和我有同样问题的人。

结束

相关推荐

Custom archives function

我正在为我的教会网站建立一个自定义档案页面。在我的档案页上,我想把上周的布道放在一个特殊的盒子里,然后是未来的布道,最后是布道档案。我希望将来的布道和布道档案用标题隔开。。。i、 未来的布道布道档案布道档案。。。我的问题是,当我用分页功能点击按钮转到旧的布道帖子时,它会在我所在的每个归档页面上显示当前和未来的布道!如何使当前和未来的布道仅显示在第1页上,而不在单击查看旧帖子时显示?以下是我的功能:// Create the loop for the sermons page function se

根据归档文件中的分类筛选器更改标题-{cpt}.php - 小码农CODE - 行之有效找到问题解决它

根据归档文件中的分类筛选器更改标题-{cpt}.php

时间:2018-11-11 作者:Syamsul Alam

所以我有自定义帖子类型的页面RENTAL 使用以下自定义分类:

  • Merk -- 条款:本田、大发、丰田等Kendaraan -- 母公司术语:Mobil、Bus、Motor&;子术语:MPV、掀背车、轿车等Seat -- 条款:2座、4座、8座等

    What I Wanted to Achieve

    我希望根据用于筛选的分类法更改带有分类法筛选器的存档页面中的标题H1,例如:

    https://example.com/rental/?kendaraan=mobil&merk=honda&seat=2seat
    
    标题:Rental Mobil Honda (2 Seat)

    https://example.com/rental/?kendaraan=sedan&merk=honda&seat=4seat
    
    标题:Rental Mobil Sedan Honda (4 Seat) (注:“Sedan”是“Mobil”的后代)

    https://example.com/rental/?kendaraan=sedan&merk=honda
    
    标题:Rental Mobil Sedan Honda (注:“Sedan”是“Mobil”的后代)

    我还希望它在没有过滤分类法的情况下有不同的标题。

    https://example.com/rental/
    
    标题:Rental Mobil, Bus, Motor

    不幸的是,我的代码可以实现我想要的“一些”。但标题总是选择分类法,即使它没有经过筛选。

    $merk = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'merk\', \'Merk&nbsp;\', \'\', \'&nbsp;\') );
    $kendaraan = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'kendaraan\', \'\', \'\', \'&nbsp;\') );
    $kendaraanParent = get_term_parents_list( get_the_ID(), \'kendaraan\' );
    $seat = wp_strip_all_tags( get_the_term_list( get_the_ID(), \'seat_mobil\', \'(\', \'\', \')\' ) );
    
        <header class="archive-header">
    <h1 class="archive-title">
    Rental <?php echo $kendaraan ; ?><?php echo $merk ; ?><?php echo $kendaraanParent->name ; ?><?php echo $seat ; ?> - TravelBos.id
    </h1>
    </header><!-- .archive-header -->
    
    当我过滤所有三种分类法时,上面的代码非常有用。

    https://example.com/rental/?kendaraan=sedan&merk=honda&seat=4seat
    
    但当过滤两个、一个或没有分类法时,它变得很愚蠢。

    有什么想法吗?非常感谢。

1 个回复
最合适的回答,由SO网友:Syamsul Alam 整理而成

我会自己回答这个问题,因为我在咨询了我的程序员朋友后找到了解决方案。

基本上,我上面发布的代码是错误的,事实证明我不应该使用get_the_term_list 但要使用get_query_var 相反

最后的代码是用以下代码替换我发布的上述代码:

编辑:更改一些东西以调用适当的“分类名称”,因为分类slug可能与分类名称不同。信用@米洛。

<?php
// get the currently queried taxonomy term, for use later in the template file
$kendaraan = get_query_var(\'kendaraan\');
$merk = get_query_var(\'merk\');
$seat = get_query_var(\'seat\');
$kendaraan = get_term_by( \'slug\', $kendaraan, \'kendaraan\' );
$merk = get_term_by( \'slug\', $merk, \'merk\' );
$seat = get_term_by( \'slug\', $seat, \'seat\' );
?>

<h1 class="archive-title">Rental 
<?php if ( empty( $kendaraan ) && empty( $merk ) && empty( $seat ) ): ?>
Mobil, Bus, & Motor - TravelBos.id
<?php else: ?>
<?php echo $kendaraan->name; ?> <?php echo $merk->name; ?> <?php if (!empty($seat)) {echo "(". $seat->name .")";} ?> - TravelBos.id
<?php endif; ?>
</h1>
现在,在查看特定归档页面时,此代码将使H1归档标题能够根据过滤的分类法进行更改。

希望它能帮助任何和我有同样问题的人。

相关推荐

permalinks issue and archives

我对运行在WP 3.3上的一个站点有一个问题,当我们通过“/%post\\u id%/%postname%/”使永久链接成为任何内容时,归档页面会断开并变成404。经过一些研究,我明白了为什么从性能的角度来看,这不是一个好的做法,所以我尝试了建议的备选方案:“/%year%/%postname%/”和“/%post\\u id%/%postname%/”这两个建议都有效,只是只有使用post\\u id的建议,归档URL才会变成“/date/2012/11/”,并被找到。根据permalink的任何其他建