Sostituire stringa di testo su singola pagina
Sto cercando di sostituire alcune stringhe di testo solo per due pagine specifiche su un sito WordPress. La modifica non dovrebbe influenzare quelle stringhe su altre pagine. Preferirei farlo aggiungendo del codice al file functions.php.
Penso che utilizzare parte di questo codice potrebbe essere il primo passo, ho solo bisogno di aiuto per il resto https://wordpress.stackexchange.com/a/278357

Non posso commentare, quindi risponderò e aggiusterò leggermente la soluzione di Bhagyashree, che è esattamente ciò che dovrai fare in base alla tua domanda. Tuttavia, potresti voler sapere come includere le 2 pagine invece di duplicare la funzione. E anche come passare un array di stringhe da sostituire.
function replace_some_text( $content ) {
// Nota il || stiamo dicendo se è page1 OPPURE page2. Inoltre modificato in is_single.
if( is_single( 2020 ) || is_single( 2021 ) {
$text_strings_to_replace = array( 'first_string', 'second_string', 'third_string_to_replace' );
$content = str_replace( $text_strings_to_replace, 'new_text', $content );
}
return $content;
}
add_filter('the_content', 'replace_some_text');
Piccola spiegazione. Fondamentalmente, ci agganciamo a un hook di filtraggio di WordPress [add_filter][1]
che ci permette di filtrare tutto il contenuto della pagina.
Filtriamo il $content all'interno della nostra funzione, in questo caso utilizzando una funzione PHP [str_replace][1]
per cercare nel contenuto il nostro array di stringhe e sostituirle con 'new_text'.

Le soluzioni proposte sopra purtroppo non hanno funzionato nel mio caso, apparentemente perché in questa situazione il plugin WooCommerce sovrascrive una funzione in functions.php. Quindi la soluzione per me è stata utilizzare il plugin Say What.

Esempio Ecco come sostituire tutte le occorrenze di una stringa in WordPress. Basta aggiungere il seguente codice al file functions.php del tuo tema:
function replace_text($text) {
$text = str_replace('cerca-questa-stringa', 'sostituisci-con-questa-stringa', $text);
$text = str_replace('cerca-quella-stringa', 'sostituisci-con-quella-stringa', $text);
return $text;
}
add_filter('the_content', 'replace_text');
Maggiori informazioni su http://php.net/manual/en/function.str-replace.php

Ho affrontato lo stesso problema nelle ultime 18 ore. Ho provato diverse permutazioni e combinazioni di codici e alla fine, questo ha funzionato per me. Inserisci questo codice in Aspetto >> Editor del tema >> file 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
è il testo che vuoi sostituire enew_text
è il testo con cui vuoi sostituirlo.- Per determinare l'id, modifica la pagina e troverai l'id nell'URL.
