Reemplazar cadena de texto en páginas individuales
Estoy buscando reemplazar algunas cadenas de texto solo en dos páginas específicas de un sitio WordPress. No debería afectar esas cadenas en ninguna otra página. Preferiría hacer esto añadiendo algo de código al functions.php
Creo que usar parte de este código sería el primer paso, solo necesito ayuda con el resto https://wordpress.stackexchange.com/a/278357

No puedo comentar, así que responderé y ajustaré ligeramente la respuesta de Bhagyashree, que es exactamente lo que necesitarás hacer según tu pregunta. Excepto que quizás quieras saber cómo incluir las 2 páginas en lugar de duplicar la función. Y también pasar un array de cadenas para reemplazar.
function replace_some_text( $content ) {
// Nota el || estamos diciendo si es página1 O página2. También cambiado a is_single.
if( is_single( 2020 ) || is_single( 2021 ) {
$text_strings_to_replace = array( 'primer_texto', 'segundo_texto', 'tercer_texto_a_reemplazar' );
$content = str_replace( $text_strings_to_replace, 'texto_nuevo', $content );
}
return $content;
}
add_filter('the_content', 'replace_some_text');
Pequeña explicación. Básicamente, nos conectamos a un filtro de WordPress [add_filter][1]
que nos permite filtrar todo el contenido de la página.
Filtramos el $content dentro de nuestra función, en este caso usando una función de PHP [str_replace][1]
para buscar en el contenido nuestro array de cadenas y reemplazarlas con 'texto_nuevo'.

Las soluciones propuestas anteriormente no funcionaron para mí desafortunadamente, aparentemente porque en este caso el plugin WooCommerce sobreescribe una función en functions.php. Por lo tanto, la solución para mí fue utilizar el plugin Say What.

Un ejemplo de cómo reemplazar todas las instancias de una cadena en WordPress. Solo añade el siguiente código al archivo functions.php de tu tema:
function replace_text($text) {
$text = str_replace('buscar-esta-cadena', 'reemplazar-con-esta-cadena', $text);
$text = str_replace('buscar-esa-cadena', 'reemplazar-con-esa-cadena', $text);
return $text;
}
add_filter('the_content', 'replace_text');
Más información en http://php.net/manual/en/function.str-replace.php

He estado lidiando con el mismo problema durante las últimas 18 horas. Probé múltiples permutaciones y combinaciones de códigos y finalmente, esto funcionó para mí. Coloca este código en Apariencia >> Editor de temas >> archivo functions.php
:
function replace_text( $text ) {
if( is_page( 1709 ) ) {
$text = str_replace('old_text', 'new_text', $text);
$text = str_replace('old_text', 'new_text', $text);
}
return $text;
}
add_filter('the_content', 'replace_text');
old_text
es el texto que deseas reemplazar ynew_text
es el texto con el que deseas reemplazarlo.- Para determinar el ID, por favor edita la página, encontrarás el ID en la URL.
