Intereting Posts
добавить сгенерированную таблицу стилей из родительской темы после child-themes style.css Использование пользовательских сообщений с метабоксами и выпадающими списками Замена файла nav-menus.php стандартным чистым? Переписать вопросительный знак в шаблоне post с URL-параметром для чистых URL-адресов Изменить раскладку новостей на основе диапазона дат Можно ли отфильтровать отображаемое имя для форматов сообщений для отображения в метаданных Formats? Как автоматически применять пароль ко всем сообщениям в настраиваемом типе сообщений Показать сообщения за: Как вы получаете эскизы, чтобы отображаться в редакции администратора? Использование субдомена m.website.com для мобильных телефонов? Назначить должности для таксономических условий вместо условий таксономии на должности? Добавьте динамический динамик через Javascript в чем разница между файлами .po .mo и .pot в локализации wordpress? Вывод из выпадающего списка таксономии уровня Запрос Mysql для удаления дубликатов сообщений WordPress?

Сделать URL в пользовательской гиперссылке поля

На моем сайте WordPress я создал настраиваемое поле для ссылки на сайт автора. но я не знаю, как сделать это гиперссылкой, чтобы люди могли щелкнуть по ней, чтобы заниматься серфингом на этом веб-сайте. на данный момент он показывает только сырой текст. например: "www.example.com"

мой код:

 <?php echo get_post_meta($post->ID, 'Author Website', true); ?> 

Solutions Collecting From Web of "Сделать URL в пользовательской гиперссылке поля"

Использовать это.

 get_post_meta($post->ID, 'custom-field-name', true); 

Где custom-field-name – это имя настраиваемого поля. Вам нужно будет добавить свое собственное имя поля вместо custom-field-name.

Также, чтобы открыть ссылку в новом окне браузера / вкладке, добавьте target="_blank" . Всегда используйте esc_url() для URL-адресов и esc_html() когда вы хотите отображать значение без работы с HTML.

 $value = get_post_meta( $post->ID, 'Author Website', true ); if ( $value ) { // Returns an empty string for invalid URLs $url = esc_url( 'http://' . $value ); if ( '' !== $url ) { $display = esc_html( $value ); print "<a href='$url' target='_blank'>$display</a>"; } } 

Вы также должны хранить протокол в поле, потому что некоторые веб-сайты могут быть недоступны для каждого http , всего за https .

Всегда используйте esc_attr для esc_attr атрибутов значения поля HTML

 $cf = esc_attr(get_post_meta( get_the_ID(), 'custom_field', true )); echo '<a href="http://' . str_replace("http://", "", $cf) . '">' . $cf . '</a>';