@aliasst

Как в вордпрессе вывести ссылку из настроек в шаблон правильно?

Привет! подскажите сделал в настройках сайта ссылки на соцсети... Т.е. в админке допустим ставится ссылка на группу вконтакте и выводится в шаблоне через функцию - echo get_option('url_vk'); Все хорошо если добавить в настройках полный адрес https://vk.com/gruppa , то вывыодится все как надо, а если в настройках указать ссылку просто без протокола (vk.com/gruppa), то выводится путь относительно домена то, есть вот так... domain.ru/vk.com/gruppa .. Как сделать чтобы выводился правильный адрес в обоих случаях?
  • Вопрос задан
  • 41 просмотр
Решения вопроса 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Вариант 1: Делать валидацию поля на странице настроек, принимать только единый формат (с https:// или без - не столь важно).
Вариант 2: Проверять строку перед выводом, дописывать протокол если отсутствует:
$url = get_option( 'url_vk' );
if ( false === strpos( $url, 'https://' ) ) {
    $url = 'https://' . $url;
}
echo esc_url( $url );

Вариант №1 предпочтительней, так как гарантирует, что данные всегда будут одинаковы и выводиться будут без танцев с бубном. Вариант №2 не очень надежен, так как могут указать http вместо https, могут допустить опечатку пропустив один слэш или двоеточие и тд – в этих случаях strpos() не поймает проблему. Или же надо пытаться все случаи поймать, или регулярку пилить. В общем, сложнее и менее надежно получается.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы