Pregunta sobre Developing with WordPress de Wordpress:

Cambiar varias palabras de un título a una función

Un usuario preguntó 👇

Quiero convertir varias palabras en títulos de wordpress. Pero solo puedo cambiar 1 palabra. ¿Cómo puedo rehacer este script php para que pueda cambiar varias palabras?

Por ejemplo, la palabra WORDPRESS & WORDPRESS2

Funciona pero solo cambia 1 palabra.

function wpse_filter_post_titles( $title ) {
return str_replace( 'WORDPRESS', 'REPLACETOTHIS', $title );
}
add_filter( 'the_title', 'wpse_filter_post_titles' );

Probé estos 2 códigos pero rompe todo el sitio.

function wpse_filter_post_titles( $title ) {
return str_replace( 'WORDPRESS', 'REPLACETOTHIS', $title );
return str_replace( 'WORDPRESS2', 'REPLACETOTHIS2', $title );
}
add_filter( 'the_title', 'wpse_filter_post_titles' );
function wpse_filter_post_titles( $title ) {
return str_replace( 'WORDPRESS', 'REPLACETOTHIS', $title ) && return str_replace( 'WORDPRESS2', 'REPLACETOTHIS2', $title );
}
add_filter( 'the_title', 'wpse_filter_post_titles' );

Este tema fue modificado hace 2 años, 7 meses por.

(@jdembowski)

Moderador del foro y Bruto Squad

Hace 2 años, 7 meses

No recuerdo por qué, pero tal vez obtenga mejores resultados si lo agrega preg_match_all.

http://php.net/manual/en/function.preg-match-all.php

Edite y repita todos los elementos que se encuentran en el filtro en lugar de lo que necesita en ese filtro.

(@ alegremente)

Hace 2 años, 7 meses

Puede usar matrices para el patrón y sus parámetros de reemplazo str_replace. Asegúrese de que no sean compatibles (como WORDPRESS y WORDPRESS2), para obtener el resultado que desea.

(@diondesigns)

Hace 2 años, 7 meses

Aquí está su primera función, escrita de una manera ligeramente diferente:

function wpse_filter_post_titles($title) {
	$title = str_replace('WORDPRESS', 'REPLACETOTHIS', $title);
	return $title;
}
add_filter('the_title', 'wpse_filter_post_titles');

Si desea varios reemplazos, puede copiar la línea a str_replace() y no causará un error fatal de PHP / análisis.

Dudo que tampoco preg_replace(), o str_replace() con matrices, una solución sería mejor que la anterior. Pero eso dependería de las cadenas reales que necesite reemplazar. Dado que no proporcionó cadenas reales, y parece que tiene un nivel de principiante con PHP, pensé que el enfoque de «pasos de bebé» sería más apropiado.

Lanzador de hilos

(@ 4ever16)

Hace 2 años, 7 meses

¡Gracias por resolver ahora!

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicada.