Функция PHP, возвращающая ввод
Я работаю над настройкой функции PHP, которая будет принимать входные данные из настраиваемого поля (сгенерированного ACF) на странице в бэкэнде WordPress и генерировать HTML. Вот что я называю в моих файлах PHP/HTML....
<?php connect_links('github', the_field( 'github_url', 94 ) ); ?>
и вот код из моего functions.php:
<?php
function connect_links($type, $url){
$email = '';
switch ($type) {
case 'facebook':
$fa_type = 'fa-facebook-official';
break;
case 'github':
$fa_type = 'fa-github-square';
break;
case 'linkedin':
$fa_type = 'fa-linkedin-square';
break;
case 'twitter':
$fa_type = 'fa-twitter-square';
break;
case 'email':
$fa_type = 'fa-envelope';
$email = 'mailto:';
break;
default:
$fa_type = 'no-fa-type';
break;
}
?>
<a href="<?php if($email) echo $email; echo $url; ?>">
<i class="fa <?php echo $fa_type; ?> blue-and-white-icon"> </i>
</a>
<?php
}
?>
Вместо того, чтобы получать ввод из бэкэнда wordpress и использовать его в функции, он работает так, как будто у него нет второго ввода, затем берет второй ввод и печатает его в HTML между элементами.
Моя функция работает, как и ожидалось, когда я вызываю ее с реальными вводами, такими как
connect_links('github', 'https://www.github.com/michaeljwiebe' );
1 ответ
Решение
Похоже, вы хотите get_field(), которая возвращает значение: https://www.advancedcustomfields.com/resources/get_field/
В отличие от the_field(), который печатает значение.