get_template_part() non funziona se lo chiami da una sottocartella
Supponiamo di avere una struttura di directory come questa:
theme
- subfolder
- template.php
content-job-listing.php
Se provo a chiamare get_template_part in questo modo get_template_part('content', 'job-listing')
dal file template.php (nota che questo è solo un nome generico non il nome effettivo che sto usando) restituisce NULL.
Allo stesso modo, se uso get_template_part('../content', 'job-listing')
anche questo non riesce a recuperare il template. Tuttavia, il primo metodo funziona correttamente se entrambi i file si trovano nella stessa directory.
get_template_part() non funziona se lo chiami quando ti trovi in una sottocartella di un tema

get_template_part()
funzionerà allo stesso modo indipendentemente da dove o quanto in profondità ti trovi all'interno del tuo tema. Include sempre relativamente alla radice del tema (o del tema child).
Quindi se chiami quanto segue da qualsiasi punto:
get_template_part( 'content', 'job-listing' );
... cercherà di caricare (in ordine):
child-theme/content-job-listing.php
parent-theme/content-job-listing.php
child-theme/content.php
parent-theme/content.php
Per caricare parti che si trovano in una sottocartella del tuo tema, basta usare il percorso nel primo argomento:
get_template_part( 'path/to/file', 'optional-slug' );

Giusto. È fantastico, il problema principale è capire quale di quei file verrà utilizzato in un determinato caso. Ad esempio, l'indice caricherà il content.php
anche se penseresti che dovrebbe essere la versione excerpt... Quindi in alcune situazioni può creare confusione.
