Разделить single-review.php на две части

У меня есть новый шаблон страницы, который я хочу использовать для своих настраиваемых типов сообщений.

Мне нужно сохранить существующий формат моих старых пользовательских типов сообщений, но для любых новых настраиваемых типов сообщений я хочу реализовать свой новый шаблон страницы.

Каков наилучший способ сделать это?

Я думал об использовании настраиваемого поля, и если он существует, то должен быть загружен новый шаблон страницы, иначе загрузите обычный код single-review.php .

Я придумал условное выражение для настраиваемого поля, но я не знаю, с чего начать.

 <?php $myurl = get_post_meta($post->ID, 'newstuff', true); if($myurl) { ?> 

Solutions Collecting From Web of "Разделить single-review.php на две части"

Да, используйте оператор if, внутри вашего цикла post сделайте что-то вроде этого:

 while ( have_posts() { the_post(); $value = get_post_meta( $post->ID, 'metakey', true ); if ( $value == 'a' ) { get_template_part( 'something' ); } else { get_template_part( 'somethingelse'); } } 

Если бы я мог принять ваш вопрос более буквально, я мог бы интерпретировать его как:

WordPress загружает single-review.php при загрузке моего отзыва, но я хочу, чтобы он загружал другой файл, если обычная мета имеет определенное значение.

На что есть ответ, который позволит вам это сделать. Но это массовый перебор для того, что вы пытаетесь сделать, и выкапывать дыру для себя, особенно когда такая простая базовая альтернатива существует. Я думаю, вы должны спросить, почему вам нужно выбрать совершенно другой шаблон, основанный на пользовательской мета, или если это весь шаблон, который нуждается в изменении