В теме есть файл post-meta.php, который, очевидно, определяет, как пост-мета отображается на странице. Я пытаюсь изменить блок author пост-мета, чтобы использовать шорткод PublishPress Authors, в зависимости от активной страницы. Например, на главной или главной странице должен использоваться один стиль, а в отдельных сообщениях — другой.
Я попробовал несколько разных способов, которые нашел. просматривая StackOverflow, включая эхо, но это, похоже, привело к тому, что шорткод PublishPress Authors появился в странном и сильно перекрывающемся положении поверх существующего пост-мета.
Моя последняя попытка оказалась неудачной. был следующий код:
Код: Выделить всё
$author_link = '';
if (is_home() || is_front_page()) {
$author_link = $author_img . $label . (!is_home() || !is_front_page() ? get_the_author_posts_link() :
do_shortcode('[publishpress_authors_box layout="ppma_boxes_1011" author_categories="author,co-author"]'));
}
elseif (is_single()) {
$author_link = $author_img . $label . (!is_single() ? get_the_author_posts_link() :
do_shortcode('[publishpress_authors_box layout="ppma_boxes_1567"]'));
}
else {
$author_link = $author_img . $label . (!is_home() || !is_front_page() || !is_single() ? get_the_author_posts_link() :
do_shortcode('[publishpress_authors_box layout="ppma_boxes_1011" author_categories="author,co-author"]'));
}
$output = sprintf(
'%2$s',
esc_attr(join(' ', $classes)),
$author_link
);
Что странно, оператор elseif работает, а два других нет. Я вижу правильное изменение в отдельных сообщениях. Я знаю, что упускаю что-то очевидное, и надеюсь, что кто-нибудь укажет мне на это.
Спасибо!
ОБНОВЛЕНИЕ 08/01/ 2024, 9:55 утра по восточному времени: Я сократил операторы if, чтобы различать просто страницу и публикацию. Кажется, это дало желаемый эффект на главной/главной странице и отдельных сообщениях, но страницы архива (категории) полностью стирают ссылку $author_link.
Вот фрагмент кода:
Код: Выделить всё
$author_link = '';
if (is_page()) {
$author_link = $author_img . $label . (!is_page() ? get_the_author_posts_link() :
do_shortcode('[publishpress_authors_box layout="ppma_boxes_1011" author_categories="author,co-author"]'));
}
elseif (is_single()) {
$author_link = $author_img . $label . (!is_single() ? get_the_author_posts_link() :
do_shortcode('[publishpress_authors_box layout="ppma_boxes_1567"]'));
}
$output = sprintf(
'%2$s',
esc_attr(join(' ', $classes)),
$author_link
);
Подробнее здесь: https://stackoverflow.com/questions/788 ... ctive-page