admin管理员组文章数量:1130349
So I have page in Custom Post Type RENTAL with following custom taxonomies:
- Merk -- with terms: Honda, Daihatsu, Toyota, etc
- Kendaraan -- with parent terms: Mobil, Bus, Motor; & child terms: MPV, hatchback, sedan, etc.
- Seat -- with terms: 2 seat, 4 seat, 8 seat, etc
What I Wanted to Achieve
I want my title H1 in my archive page with taxonomy filter to change based on taxonomy used to filter, example:
/?kendaraan=mobil&merk=honda&seat=2seat
TITLE: Rental Mobil Honda (2 Seat)
/?kendaraan=sedan&merk=honda&seat=4seat
TITLE: Rental Mobil Sedan Honda (4 Seat) (NOTE: "Sedan" being child of "Mobil")
/?kendaraan=sedan&merk=honda
TITLE: Rental Mobil Sedan Honda (NOTE: "Sedan" being child of "Mobil")
And I also want it to have different title when it has no taxonomy filtered.
/
TITLE: Rental Mobil, Bus, Motor
Unfortunately my code can achieve 'some' of what I wanted. But the title always pick taxonomy even if it isn't filtered.
$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 -->
Code above works great for when I filter all three taxonomies.
/?kendaraan=sedan&merk=honda&seat=4seat
But when filtering two, one, or none taxonomy(ies) it turned stupid.
Any ideas? Thank you!
So I have page in Custom Post Type RENTAL with following custom taxonomies:
- Merk -- with terms: Honda, Daihatsu, Toyota, etc
- Kendaraan -- with parent terms: Mobil, Bus, Motor; & child terms: MPV, hatchback, sedan, etc.
- Seat -- with terms: 2 seat, 4 seat, 8 seat, etc
What I Wanted to Achieve
I want my title H1 in my archive page with taxonomy filter to change based on taxonomy used to filter, example:
https://example/rental/?kendaraan=mobil&merk=honda&seat=2seat
TITLE: Rental Mobil Honda (2 Seat)
https://example/rental/?kendaraan=sedan&merk=honda&seat=4seat
TITLE: Rental Mobil Sedan Honda (4 Seat) (NOTE: "Sedan" being child of "Mobil")
https://example/rental/?kendaraan=sedan&merk=honda
TITLE: Rental Mobil Sedan Honda (NOTE: "Sedan" being child of "Mobil")
And I also want it to have different title when it has no taxonomy filtered.
https://example/rental/
TITLE: Rental Mobil, Bus, Motor
Unfortunately my code can achieve 'some' of what I wanted. But the title always pick taxonomy even if it isn't filtered.
$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 -->
Code above works great for when I filter all three taxonomies.
https://example/rental/?kendaraan=sedan&merk=honda&seat=4seat
But when filtering two, one, or none taxonomy(ies) it turned stupid.
Any ideas? Thank you!
Share Improve this question edited Nov 11, 2018 at 8:14 Syamsul Alam asked Nov 11, 2018 at 5:36 Syamsul AlamSyamsul Alam 11 silver badge6 bronze badges1 Answer
Reset to default 0I'll answer this question myself since I found the solution after consulting with my programmer friend.
Basically the code above that I posted is wrong, turns out I shouldn't be using get_the_term_list but to use get_query_var instead.
The final code is to replace the above code I posted with these code:
EDIT: Change few things to call proper "taxonomy name" as taxonomy slug can be different with taxonomy name. Credit @Milo.
<?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>
Now this code will make it possible for the H1 archive heading to change based on the taxonomy being filtered when viewing that particular archive page.
Hope it helps anyone who has the same problem as me.
So I have page in Custom Post Type RENTAL with following custom taxonomies:
- Merk -- with terms: Honda, Daihatsu, Toyota, etc
- Kendaraan -- with parent terms: Mobil, Bus, Motor; & child terms: MPV, hatchback, sedan, etc.
- Seat -- with terms: 2 seat, 4 seat, 8 seat, etc
What I Wanted to Achieve
I want my title H1 in my archive page with taxonomy filter to change based on taxonomy used to filter, example:
/?kendaraan=mobil&merk=honda&seat=2seat
TITLE: Rental Mobil Honda (2 Seat)
/?kendaraan=sedan&merk=honda&seat=4seat
TITLE: Rental Mobil Sedan Honda (4 Seat) (NOTE: "Sedan" being child of "Mobil")
/?kendaraan=sedan&merk=honda
TITLE: Rental Mobil Sedan Honda (NOTE: "Sedan" being child of "Mobil")
And I also want it to have different title when it has no taxonomy filtered.
/
TITLE: Rental Mobil, Bus, Motor
Unfortunately my code can achieve 'some' of what I wanted. But the title always pick taxonomy even if it isn't filtered.
$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 -->
Code above works great for when I filter all three taxonomies.
/?kendaraan=sedan&merk=honda&seat=4seat
But when filtering two, one, or none taxonomy(ies) it turned stupid.
Any ideas? Thank you!
So I have page in Custom Post Type RENTAL with following custom taxonomies:
- Merk -- with terms: Honda, Daihatsu, Toyota, etc
- Kendaraan -- with parent terms: Mobil, Bus, Motor; & child terms: MPV, hatchback, sedan, etc.
- Seat -- with terms: 2 seat, 4 seat, 8 seat, etc
What I Wanted to Achieve
I want my title H1 in my archive page with taxonomy filter to change based on taxonomy used to filter, example:
https://example/rental/?kendaraan=mobil&merk=honda&seat=2seat
TITLE: Rental Mobil Honda (2 Seat)
https://example/rental/?kendaraan=sedan&merk=honda&seat=4seat
TITLE: Rental Mobil Sedan Honda (4 Seat) (NOTE: "Sedan" being child of "Mobil")
https://example/rental/?kendaraan=sedan&merk=honda
TITLE: Rental Mobil Sedan Honda (NOTE: "Sedan" being child of "Mobil")
And I also want it to have different title when it has no taxonomy filtered.
https://example/rental/
TITLE: Rental Mobil, Bus, Motor
Unfortunately my code can achieve 'some' of what I wanted. But the title always pick taxonomy even if it isn't filtered.
$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 -->
Code above works great for when I filter all three taxonomies.
https://example/rental/?kendaraan=sedan&merk=honda&seat=4seat
But when filtering two, one, or none taxonomy(ies) it turned stupid.
Any ideas? Thank you!
Share Improve this question edited Nov 11, 2018 at 8:14 Syamsul Alam asked Nov 11, 2018 at 5:36 Syamsul AlamSyamsul Alam 11 silver badge6 bronze badges1 Answer
Reset to default 0I'll answer this question myself since I found the solution after consulting with my programmer friend.
Basically the code above that I posted is wrong, turns out I shouldn't be using get_the_term_list but to use get_query_var instead.
The final code is to replace the above code I posted with these code:
EDIT: Change few things to call proper "taxonomy name" as taxonomy slug can be different with taxonomy name. Credit @Milo.
<?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>
Now this code will make it possible for the H1 archive heading to change based on the taxonomy being filtered when viewing that particular archive page.
Hope it helps anyone who has the same problem as me.
本文标签: Change Title Based on Taxonomy Filter in archivecptphp
版权声明:本文标题:Change Title Based on Taxonomy Filter in archive-{cpt}.php 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/questions/1749175580a2327738.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论