Если ID записи совпадает с этими ID, то выполнить следующее
Я все еще новичок в PHP, но пытаюсь отобразить другой макет для отдельной записи WordPress по её ID.
Я думал, что это будет просто, но я уже попробовал несколько вариаций кода ниже. Включая использование is_singular
и без $post
и т.д., но у меня закончились идеи. Что я могу сделать? На что мне нужно обратить внимание? Кто-нибудь может мне помочь?
<?php
if (is_single ($post = '2578')) {
get_template_part('partials/content', 'challenge');
}
elseif (is_single ($post = '')) {
get_template_part('partials/challenge/content', 'challenge-2');
get_template_part('partials/challenge/content', 'categories');
get_template_part('partials/challenge/content', 'snake-checklist');
get_template_part('partials/challenge/content', 'timeline');
}?>
Это выглядит почти правильно. Давайте посмотрим на функцию is_single()
:
Работает для любого типа записи, кроме вложений и страниц...
Таким образом, если указанный ID не относится к типу записи page
или attachment
, то вы можете использовать функцию следующим образом:
if( is_single( 2578 ) ) {
/* ... */
} else {
/* ... */
}
В противном случае, если ID относится к типу записи page
, вы можете использовать is_page()
if( is_page( 2578 ) ) {
/* ... */
}
Если ID относится к странице вложения (attachment
), вы можете использовать is_attachment()
if( is_attachment( 2578 ) ) {
/* ... */
}
Наконец, если вы не уверены в типе записи, вы можете проверить глобальный объект global $post
, предполагая, что он корректен:
global $post;
if( is_object( $post ) && 2578 == $post->ID ) {
/* ... */
}

Функция get_the_ID()
будет работать независимо от типа записи (будь то страница, запись или произвольный тип записи).
Вы можете использовать эту функцию для выполнения условной проверки.
if ( get_the_ID() === 2578) {
get_template_part('partials/content', 'challenge');
}
else{
// Добавьте другие вызовы шаблонов или дополнительные условия, такие как is_single, is_archive и т.д.
}?>
Стоит отметить, что эта функция не будет работать в архивах, так как у них нет ID.
