WordPress ссылки на социальные иконки не связываются

Я пытаюсь добавить значки социальных сетей на сайт BuddyPress, используя фрагмент кода, который я нашел здесь:
https://buddypress.org/support/topic/display-users-social-follow-buttons-in-profile/

Я последовал предложению downthread и добавил код в файл bp-custom.php в моей папке плагинов, и значки отображаются там, где они должны, но ссылка на социальный профиль отображается в виде текста, а когда я нажимаю на ссылку, она возвращает страница 404.

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

<?php
//Social Media Icons based on the profile user info
function member_social_extend(){
$dmember_id = $bp->displayed_user->id;
$fb_info = xprofile_get_field_data('facebook', $dmember_id);
$google_info = xprofile_get_field_data('googleplus', $dmember_id);
$linkedin_info = xprofile_get_field_data('linkedin', $dmember_id);
$twitter_info = xprofile_get_field_data('twitter', $dmember_id);
echo '<div class="member-social">';
if($fb_info||$google_info||$linkedin_info||$twitter_info){
echo 'My Social: ';
}

if ($fb_info) {
?>
<span class="fb-info"><a href="https://www.facebook.com/<?php echo $fb_info; ?>"  title="My Facebook" target="_blank"><img src="<?php bloginfo('wpurl'); ?>/wp-content/themes/family-openstrap-child/images/facebook.png" /></a></span>
<?php
}
?>
<?php
if ($google_info) {
?>
<span class="google-info"><a href="https://profiles.google.com/<?php echo $google_info; ?>" title="My Googleplus" target="_blank"><img src="<?php bloginfo('wpurl'); ?>/wp-content/themes/family-openstrap-child/images/googleplus.png" /></a></span>
<?php
}
?>
<?php
if ($linkedin_info) {
?>
<span class="linkedin-info"><a href="https://www.linkedin.com/<?php echo $linkedin_info; ?>" title="My LinkedIn" target="_blank"><img src="<?php bloginfo('wpurl'); ?>/wp-content/themes/family-openstrap-child/images/linkedin.png" /></a></span>
<?php
}
?>
<?php
if ($twitter_info) {
?>
<span class="twitter-info"><a href="https://twitter.com/<?php echo $twitter_info; ?>" title="My Twitter" target="_blank" class="twitter-follow-button""><img src="<?php bloginfo('wpurl'); ?>/wp-content/themes/family-openstrap-child/images/twitter.png" /></a></span>
<?php
}
echo '</div>';
}
add_filter( 'bp_before_member_header_meta', 'member_social_extend' );
?>

Спасибо!

0

Решение

Похоже xprofile_get_field_data() создает свой <a> тег, так что вам не нужно писать один, как вы сделали там. Попробуйте это вместо этого:

$fb_info = xprofile_get_field_data(
'<img src="' . bloginfo('wpurl') . '/wp-content/themes/family-openstrap-child/images/facebook.png" />',
$dmember_id
);
...
<span class="fb-info"><?php echo $fb_info; ?></span>

Не уверен если xprofile_get_field_data() позволит вам передать HTML в первом параметре, поэтому, если это не сработает, вы можете вернуться к чему-то более простому (без изображения), например:

$fb_info = xprofile_get_field_data('Facebook', $dmember_id);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]