- 21, Oct 2024
- #1
Я использую плагин Co-Authors Plus для управления несколькими авторами в электронном журнале, но я пытаюсь пойти дальше и указать «авторов текста», «авторов фотографий» и «авторов видео», поэтому добавляю новое поле в профиле автора для указания роли (писатель, фотограф, видеооператор) и попытка отобразить дополнительную метаинформацию в файле single.php и на главной странице (через виджет).
Это новая функция в файле function.php:
<?php $i = new CoAuthorsIterator(); ?>
<span class="post-meta"><?php while($i->iterate()){ ?>
<?php if(get_the_author_meta('role') == "writer"){ ?>
<span class="author-social text"><?php _e('Text:','alegria'); ?>
<?php } else { ?>
<span class="author-social photo"><?php _e('Photo:','alegria'); ?>
<?php } ;?></span>
<?php the_author_posts_link(); ?>
<?php if(get_the_author_meta('twitter')) : ?>
<a href="http://twitter.com/<?php echo the_author_meta('twitter'); ?>" class="author-twitter" title="Следуйте <?php echo $authorname; ?> в Твиттере">@<?php echo the_author_meta('twitter'); ?></a>
<?php endif ;?>
А это вывод в файле single.php и в виджете, который предназначен для отображения роли перед именем автора и ссылкой на учетную запись Twitter или Facebook (например, Текст: Джон Доу @johndoe · Фото: Джон Уильямс @ фотоуильямс):
// Add Twitter, Facebook and Role profile field in user profiles.
function add_twitter_contactmethod( $contactmethods ) {
// Add Twitter
$contactmethods['twitter'] = 'Twitter';
// Add Facebook
$contactmethods['facebook'] = 'Facebook';
// Add Role
$contactmethods['role'] = 'Role (writer / photo / video)';
return $contactmethods;
}
add_filter('user_contactmethods','add_twitter_contactmethod',10,1);
Это работает нормально, но я пытался добавить третью возможность, которая включает роль «видео» (если роль «видео», то перед именем автора покажите «Видео:»).
Я имел дело с новыми экземплярами «if(get_the_author_meta('role')» и «elseif», но интуитивно, поскольку я не программист и очень мало знаю о PHP и условных предложениях.
Может ли кто-нибудь указать мне правильный путь для достижения того, что я ищу?
Спасибо.
#пользователи