get_post_meta returnează doar Array
Iată ce încerc să fac:
Încerc să obțin o pagină în WordPress care să extragă date din câmpuri personalizate din alte pagini. Astfel încât atunci când un utilizator creează o pagină și folosește un câmp personalizat specific (în acest caz multiedit_Info), acesta să fie populat în pagina "țintă".
Iată codul cu care lucrez:
<?php $item = get_post_meta($post->ID, 'multiedit_Info', false); ?>
<div id="info-col">
<?php echo $item; ?>
</div>
În prezent, folosesc un plugin care creează blocuri de conținut folosind câmpuri personalizate. Și vreau să fac astfel încât un utilizator să poată crea o pagină nouă cu câmpurile personalizate și apoi să le afișeze într-un array pe o altă pagină.
Nu sunt sigur dacă am configurat corect sau nu. Este prima dată când folosesc acest lucru, așa că orice ajutor este apreciat. Mulțumesc!

Când setezi al treilea parametru al funcției get_post_meta()
la false
, aceasta returnează un array cu toate valorile asociate acelei chei - setând acest parametru la true
returnează o singură valoare.
Deci codul tău este corect. Ai obține exact același lucru dacă ai face ceva de genul acesta:
$test = array( "1", "2", "3" );
echo $test; // afișează "Array"
Dacă dorești să vezi conținutul array-ului tău, va trebui să folosești print_r()
:
$item = get_post_meta( $post->ID, 'multiedit_Info', false );
echo print_r( $item );
Dacă ai face acest lucru cu array-ul $test
din exemplul meu de mai sus, ai vedea:
Array
(
[0] => "1"
[1] => "2"
[2] => "3"
)

Bine, dacă o schimb la asta:
<?php $item = get_post_meta($post->ID, 'multiedit_Info', false); ?>
<div id="info-col">
<?php print_r( $item ); ?>
</div>
Va afișa asta:
Array ( [0] => )

OK, asta înseamnă că ai un array gol. Nu există nimic stocat în acea cheie meta pentru acel ID de postare.

Deci, va funcționa asta pentru TOATE câmpurile personalizate din pagini sau doar pentru acela? Încerc să obțin TOATE sau ORICE dintre câmpurile personalizate cu acea informație meta.

get_post_meta()
obține doar informațiile meta pentru un singur articol/pagină. Nu sunt foarte sigur ce încerci să realizezi acum, și nu este foarte clar în întrebarea ta. Poți, te rog, să editezi întrebarea pentru a adăuga câteva clarificări? Nu doar să enumere ce ai încercat, explică în detaliu ce încerci să realizezi.

Ok, am găsit soluția pe care o căutam aici:
obținerea tuturor valorilor pentru o cheie de câmp personalizat (cross-post).
Folosind funcția menționată în postarea de mai sus și apoi returnând informațiile în template-ul meu prin această comandă:
<?php $my_info = get_meta_values( 'multiedit_Info', 'page' ); ?>
și apoi afișându-le într-un foreach:
<?php foreach ( $my_var as $item) :
echo "<p>$item</p>";
endforeach; ?>
Am obținut toate câmpurile personalizate din toate paginile care le folosesc și le-am afișat într-o singură pagină.
Mulțumesc pentru ajutor!
