Înlocuirea unui șir de text pe o pagină individuală
Caut să înlocuiesc câteva șiruri de text doar pe două pagini specifice ale unui site WordPress. Acest lucru nu ar trebui să afecteze aceste șiruri pe alte pagini. Aș prefera să fac asta adăugând cod în functions.php
Cred că folosirea unei părți din acest cod ar fi primul pas, am nevoie doar de ajutor pentru restul https://wordpress.stackexchange.com/a/278357

Nu pot comenta, așa că voi răspunde și voi ajusta ușor răspunsul lui Bhagyashree, care este exact ceea ce va trebui să faceți în funcție de întrebarea dumneavoastră. Totuși, poate doriți să știți cum să includeți cele 2 pagini în loc să duplicați funcția. De asemenea, să treceți un array de stringuri pentru înlocuire.
function replace_some_text( $content ) {
// Observați || spunem dacă este page1 SAU page2. De asemenea, am schimbat în 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');
Mică explicație. Practic, ne conectăm la un filtru WordPress [add_filter][1]
care ne permite să filtrăm tot conținutul de pe pagină.
Filtrăm $content în interiorul funcției noastre, în acest caz folosind o funcție PHP [str_replace][1]
pentru a căuta în conținut array-ul de stringuri și a le înlocui cu 'new_text'.

Solutiile propuse mai sus nu au funcționat pentru mine, din păcate, aparent din cauză că în acest caz plugin-ul WooCommerce suprascrie o funcție în functions.php. Astfel, soluția pentru mine a fost utilizarea plugin-ului Say What.

Exemplu de înlocuire a tuturor aparițiilor unui șir de caractere în WordPress. Adăugați următorul cod în fișierul functions.php al temei dumneavoastră:
function replace_text($text) {
$text = str_replace('caută-acest-șir', 'înlocuiește-cu-acest-șir', $text);
$text = str_replace('caută-acel-șir', 'înlocuiește-cu-acel-șir', $text);
return $text;
}
add_filter('the_content', 'replace_text');
Mai multe informații pe http://php.net/manual/en/function.str-replace.php

Am întâmpinat aceeași problemă în ultimele 18 ore. Am încercat multiple permutări și combinații de coduri și în final, aceasta a funcționat pentru mine. Puneți acest cod în Aspect >> Editor de Temă >> fișierul functions.php
:
function replace_text( $text ) {
if( is_page( 1709 ) ) {
$text = str_replace('text_vechi', 'text_nou', $text);
$text = str_replace('text_vechi', 'text_nou', $text);
}
return $text;
}
add_filter('the_content', 'replace_text');
text_vechi
este textul pe care doriți să-l înlocuiți șitext_nou
este textul cu care doriți să-l înlocuiți.- Pentru a determina ID-ul, editați pagina și veți găsi ID-ul în URL.
