Preluarea imaginilor din directorul temei în pagini
Da, știu că avem get_template_directory_uri();
pentru a face referire la directorul temei. Funcționează când pun următorul cod în index.php
sau în header.php
:
<img src="<?php echo get_template_directory_uri(); ?>/images/sample.png">
Dar când adaug o imagine în pagini în timpul editării prin modul text, nu prin cel vizual, nu funcționează. Cum pot prelua imaginile din directorul de imagini al temei în pagini?
Mulțumesc!
<img src="<?php echo esc_url( get_template_directory_uri() . '/images/logo.jpg' ); ?>" alt="Logo site" title="Logo-ul principal al site-ului" >
Încearcă acest cod. Ar trebui să funcționeze.
Trebuie să concatenezi rezultatele din get_template_directory_uri()
cu directorul imaginilor în comanda echo.

Domnule Glorfindel, mulțumesc pentru editarea postării mele. Dacă considerați că este corectă, vă rog să o votați pozitiv. Acest lucru m-ar ajuta foarte mult la începutul meu pe stackexchange. Mulțumesc anticipat.

Ar trebui să utilizați Security Escape - get_template_directory_ur ."WordPress.Security.EscapeOutput.OutputNotEscaped] Toate ieșirile ar trebui să fie procesate printr-o funcție de escapare (consultați secțiunile despre Securitate din Ghidul pentru Dezvoltatori WordPress), am găsit 'get_template_directory_uri'.

Nu este posibil să utilizezi cod PHP în editor. Poți folosi o imagine cu cale completă.
<img src="/wp-content/themes/your-theme/assets/images/1.jpg" />
În general, aș evita utilizarea imaginilor specifice temei în conținut, deoarece atunci când schimbi și ștergi tema veche, acestea dispar. Așadar, aș lua în considerare utilizarea /wp-content/uploads/ pentru imaginile din conținut.

Răspunsul este da. Puteți rula cod PHP în editor. Dar acesta nu este modul corect de a adăuga imagini. În schimb, ar trebui să creați shortcode-uri pentru a prelua acele imagini din folderul temei sau să folosiți coduri precum cel de mai jos:
<img src="/wp-content/themes/tema-dvs/assets/images/1.jpg" />
Prin eliminarea numelui de domeniu, puteți beneficia chiar de cereri HTTP mai eficiente. Dacă eliminarea domeniului nu funcționează, puteți instala plugin-uri WordPress pentru execuție PHP. Există câteva plugin-uri despre acest subiect. Pentru a înțelege mai bine, ar trebui să citiți acest articol. Sper că acest lucru vă va rezolva problemele :). Mult succes în codare.

Nu a anunțat Matt că PHP nu va funcționa în cadrul unei postări WordPress?

get_template_directory_uri()
O căutare rapidă prin codul de bază al WordPress arată două abordări diferite. Această funcție necesită escapare atunci când este folosită în interiorul unui atribut al unei etichete.
<img src="<?php echo esc_url( get_template_directory_uri() . '/images/logo.jpg' ); ?>" alt="" >
Când este folosită în interiorul funcțiilor wp_enqueue_style() sau wp_enqueue_script(), nu este escapată:
wp_enqueue_script( 'theme-customizer', get_template_directory_uri() . '/js/customizer.js', array( 'customize-preview' ), '', true );
Cu toate acestea, analizând funcția în sine, aceasta are un filtru chiar înainte de returnarea valorilor, ceea ce o face suspectă – poate fi filtrată în plugin-uri și nu știm exact ce este returnat. Regula de bază în această situație ar fi "mai bine prevenit decât tratat" și să escapezi mereu.
