Sostituire stringa di testo su singola pagina

20 nov 2018, 03:17:59
Visualizzazioni: 18.6K
Voti: 1

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

3
Commenti

Benvenuto su WPSE. Hai bisogno di un po' più di contesto nella tua domanda. In base al link sembra che tu voglia modificare alcune stringhe di traduzione? Se è così, dovresti specificarlo esplicitamente nella tua domanda. Inoltre, un esempio rilevante (oltre a un semplice snippet di codice da un'altra domanda) sarebbe utile per chiunque cerchi di fornire una risposta. Questo darebbe un contesto alla tua domanda.

butlerblog butlerblog
20 nov 2018 03:24:32

Potresti aggiungere un filtro a the_content, ma dipende se vuoi tradurre, sostituire l'output o sostituire il contenuto salvato.

majick majick
20 nov 2018 04:59:18

per favore controlla questo link: https://wp-mix.com/replace-all-instances-string-wordpress/

vikrant zilpe vikrant zilpe
20 nov 2018 06:15:56
Tutte le risposte alla domanda 3
1

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'.

8 gen 2021 18:37:00
Commenti

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.

Aco Aco
29 lug 2024 00:56:46
0

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

20 nov 2018 06:19:56
0

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 e new_text è il testo con cui vuoi sostituirlo.
  • Per determinare l'id, modifica la pagina e troverai l'id nell'URL.
31 lug 2020 22:31:34