WordPress: Links für die Funktion get_the_category_list deaktivieren?
Lesezeit: 2 Minuten
Hey, mein Theme verwendet diese Funktion, um die Kategorien eines Beitrags anzuzeigen, aber es erstellt auch Links, die ich gerne loswerden würde. Ich bevorzuge PHP statt einer Javascript-Lösung.
Hier ist der Code:
<p class="postmeta">
<?php if ( 'post' == get_post_type() ) : // Hide category and tag text for pages on Search ?>
<?php
/* translators: used between list items, there is a space after the comma */
$categories_list = get_the_category_list( __( ', ', 'gridster' ) );
if ( $categories_list && gridster_categorized_blog() ) :
?>
<?php /*printf( __( '%1$s', 'gridster' ), $categories_list );*/ echo $categories_list; ?>
<?php endif; // End if categories ?>
<?php endif; // End if 'post' == get_post_type() ?>
</p>
oder entfernen Sie alle Links aus dem DOM (dies kann jedoch mehr Arbeit verursachen, da sich der eigentliche Text zwischen den <a> Stichworte
HTML
<p class="postmeta">
<a target="_blank" href="http://whatever.com/category/default/" title="View all posts in Default" rel="category tag">Default</a>
</p>
Vielen Dank!!
Wenn Sie nur eine Textzeichenfolge zurückgeben möchten und die native get_the_categories() Funktion, könnten Sie es einfach einpacken PHPs strip_tags() Funktion So entfernen Sie den gesamten zurückgegebenen HTML-Code:
Ich habe dies wie folgt geändert: ` cat_name . ‘ ‘; } echo str_replace(‘ ‘, ‘,’, trim($categoryList)); ` Dies kann innerhalb einer Funktion gekapselt und bei Bedarf wiederverwendet werden.
– Kohlenstoffzwölf
2. September 2016 um 14:15 Uhr
Eine Möglichkeit ist Kopieren Sie die ursprüngliche Funktion und an Ihre Bedürfnisse anpassen. Geändert, um die zu entfernen <a> Tags, aber nicht getestet, mit dem Original vergleichen, bei Bedarf anpassen und zu den Themes hinzufügen functions.php:
function category_list_so_22771587( $separator="" ) {
global $wp_rewrite;
$categories = get_the_category( $post_id );
$thelist="";
$i = 0;
foreach ( $categories as $category ) {
if ( 0 < $i )
$thelist .= $separator;
switch ( strtolower( $parents ) ) {
case 'multiple':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, true, $separator );
$thelist .= $category->name;
break;
case 'single':
if ( $category->parent )
$thelist .= get_category_parents( $category->parent, false, $separator );
$thelist .= $category->name;
break;
case '':
default:
$thelist .= $category->name;
}
++$i;
}
return $thelist;
}