get_template_part() nu funcționează când este apelată dintr-un subdirector

28 sept. 2015, 10:50:10
Vizualizări: 26.7K
Voturi: 4

Să zicem că ai o structură de directoare astfel:

theme
  - subfolder
    - template.php
content-job-listing.php

Dacă încerc să apelez get_template_part astfel get_template_part('content', 'job-listing') din fișierul template.php (notă: acesta este doar un nume generic, nu numele real pe care îl folosesc) returnează NULL.

În mod similar, dacă folosesc get_template_part('../content', 'job-listing') acest lucru de asemenea eșuează în a returna template-ul. Totuși, prima variantă funcționează corect dacă ambele fișiere sunt în același director.

get_template_part() nu funcționează dacă îl apelezi când te afli într-un subdirector al unei teme

1
Comentarii

posibil duplicat al Există vreo modalitate de a folosi get_template_part() cu foldere?

Pieter Goosen Pieter Goosen
28 sept. 2015 11:27:21
Toate răspunsurile la întrebare 1
1
11

get_template_part() va funcționa la fel indiferent de locul sau adâncimea în tema ta. Întotdeauna include fișiere relativ la rădăcina temei (sau a temei copil).

Deci, dacă apelezi următoarea funcție de oriunde:

get_template_part( 'content', 'job-listing' );

... va încerca să încarce (în ordine):

  1. child-theme/content-job-listing.php
  2. parent-theme/content-job-listing.php
  3. child-theme/content.php
  4. parent-theme/content.php

Pentru a încărca părți care se află într-un subdirector al temei tale, pur și simplu folosește calea în primul argument:

get_template_part( 'path/to/file', 'optional-slug' );
28 sept. 2015 12:15:10
Comentarii

Corect. Acest lucru este minunat, principala problemă este să găsești care dintre aceste fișiere va fi utilizat în cutare sau cutare caz. De exemplu, index-ul va încărca content.php chiar dacă ai crede că ar trebui să fie versiunea cu rezumat... Așadar, în unele situații, poate fi confuz.

Alexis Wilke Alexis Wilke
12 oct. 2018 07:43:21