Înlocuirea unui șir de text pe o pagină individuală

20 nov. 2018, 03:17:59
Vizualizări: 18.6K
Voturi: 1

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

3
Comentarii

Bun venit pe WPSE. Ai nevoie de puțin mai mult context în întrebarea ta. Pe baza link-ului, se pare că vrei să schimbi niște șiruri de traducere? Dacă da, ar trebui să menționezi asta în mod explicit în întrebare. De asemenea, un exemplu relevant (în afară de un fragment de cod dintr-o altă întrebare) ar fi util pentru cei care încearcă să ofere un răspuns. Asta ar oferi context întrebării tale.

butlerblog butlerblog
20 nov. 2018 03:24:32

Poți adăuga un filtru la the_content, dar depinde dacă vrei să traduci, să înlocuiești output-ul sau să înlocuiești conținutul salvat.

majick majick
20 nov. 2018 04:59:18

te rog verifică acest link: https://wp-mix.com/replace-all-instances-string-wordpress/

vikrant zilpe vikrant zilpe
20 nov. 2018 06:15:56
Toate răspunsurile la întrebare 3
1

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

8 ian. 2021 18:37:00
Comentarii

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.

Aco Aco
29 iul. 2024 00:56:46
0

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

20 nov. 2018 06:19:56
0

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 și text_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.
31 iul. 2020 22:31:34