WordPress: ¿desactivar enlaces para la función get_the_category_list?
⏰ 2 minutos de lectura
Oye, mi tema usa esta función para mostrar las categorías que tiene una publicación, pero también crea enlaces de los que me gustaría deshacerme. Prefiero php en lugar de una solución de javascript.
Aquí está el código:
<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>
o deshágase de todos los enlaces del DOM (pero esto podría crear más trabajo ya que el texto real está entre el <a> etiquetas
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>
¡¡Gracias!!
Si solo desea que se devuelva una cadena de texto y use el nativo get_the_categories() función, simplemente podría envolverlo en PHP strip_tags() función para eliminar todo el HTML que se devuelve:
He modificado esto a lo siguiente: ` cat_name . ‘ ‘; } echo str_replace(‘ ‘, ‘,’, trim($categoryList)); ` Esto puede encapsularse dentro de una función y reutilizarse según sea necesario.
– carbono doce
02/09/2016 a las 14:15
Una opción es copiar la función original y adaptarnos a tus necesidades. Modificado para eliminar el <a> etiquetas pero no probadas, compare con el original, adapte si es necesario y agréguelo al tema 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;
}
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información