Właśnie wkroczyłem w koncepcję formatów postów i zastanawiałem się, dlaczego dwie z 3 funkcji z formatu API „post” oferują absolutnie taką samą funkcjonalność. Rozważ następujące dwie koncepcje (A vs. B):
if ( have_posts() )
{
while ( have_posts() )
{
the_post();
// A) has_post_format
if ( has_post_format('format') )
{
the_excerpt(); // some special formating
}
// VERSUS:
// B)
if ( get_post_format( $GLOBALS['post']->ID ) == 'format' )
{
the_excerpt(); // some special formating
}
} // endwhile;
} // endif;
Czy ktoś mógłby mi wyjaśnić, dlaczego zamiast tych dwóch funkcji są tylko ex. get_post_format
? Jeśli mógłbyś podać mi przykłady sytuacji, w których ta jedna nie jest w stanie zrobić czegoś, co może zrobić druga funkcja, byłbym wyjątkowo szczęśliwy i dałbym +1.
źródło
get_template_part
jest naprawdę sprytne!if ( ! has_post_format() ) {}
zwraca ostrzeżenie (przynajmniej od wersji 3.5-RC1), ponieważ brakuje pierwszego (wymaganego) argumentu. codex.wordpress.org/Function_Reference/has_post_formatNastępująca część jest niepoprawna. Utworzyłem bilet, aby poprosić o to ulepszenie.
has_post_format()
jest bardziej elastyczny, ponieważ opiera się nahas_term()
, na którym opiera sięis_object_in_term()
. Oznacza to, że możesz przekazać tablicę formatów postów, która zwróci,true
jeśli posty mają jeden z tych formatów.W pierwotnym bilecie specyfikacji wymieniono już oba,get_post_format()
ahas_post_format()
może dlatego, że opiera się on na systemie taksonomii, który ma również obie funkcje?źródło
is_object_in_term()
funkcji.has_post_format()
oczekuje łańcucha jako pierwszego parametru. Tablica zawiedzie.has_*
funkcjami - stworzyłem na to bilet .Proste, has_post_format () zwraca wartość true / false (Boolean), która jest użyteczna w instrukcjach IF, natomiast get_post_format () zwraca format postu, jeśli taki istnieje, i prawdopodobnie NULL lub false, jeśli go nie ma. Używanie wartości boolowskich jest dobrym, czystym sposobem na upewnienie się, że twoje warunki zawsze zachowują się tak, jak się spodziewałeś, a funkcja has_post_format () pozwala na dość łatwe krótkie warunki:
Ponadto jest to zgodne z innymi istniejącymi funkcjami WordPress. Chociaż twoja opcja B załatwia sprawę, wymaga nieco bardziej specjalistycznej wiedzy niż być może zna się nieco ponadprzeciętny użytkownik WordPress.
źródło
get_adjacent_post
i taknext_post_link
dalej.