Вызов по номеру телефона (tel:/callto:)
-
Всем привет! 🙂
В шаблоне (WordPress движок) в теме есть поле «Телефон». Туда прописываю:<a href="номер">текст</a>
, всё работает, открывается запрос через что открывать эту ссылку. Проверяю через мобильный телефон — при нажатии просто обновляется окно.
Как можно решить эту проблему? Есть ли какой-то тег который универсально будет работать как в моб.версии, так и на ПК? Или как можно ещё решить эту задачку?- Тема изменена 5 лет, 7 месяцев назад пользователем Acme1994.
-
на ПК вы как это себе представляете? после нажатия комп возьмет ваш телефон и начнет набирать номер?
Как можно решить эту проблему?
<a href="tel:12345678">Позвонить</a>
после нажатия комп возьмет ваш телефон и начнет набирать номер?
Вполне. Если стоит какое-нить ПО — от скайпов-вайберов до SIP-телефонов.
До чего техника дошла
на ПК вы как это себе представляете? после нажатия комп возьмет ваш телефон и начнет набирать номер?
Хорошая фантазия. Это программистов и продвигает.
Но я это представляю и реализовал так, что при клике открывается предупреждение и выбираешь программу: скайп/вайбер/ватсапп. Может благодаря моему вопросу вы что-то новое узнали — что ни есть плохо в нашем деле. 🙂А вот с моб.версией пока застрял. Сменил на
<a href="tel:12345678">Позвонить</a>
, в ПК версии так-же предупреждение, а в моб. версии при клики на номер обновляется страница.
Может у меня только так? Посмотрите, у кого есть возможность, через моб.: carchek.ru.. Для начала стоило бы убрать всякую прыгающую и тыкающую в морду хрень, а сделать простую форму заказа звонка.
Проверяю через мобильный телефон — при нажатии просто обновляется окно.
Думаю, потому что в мобильной версии отображается другое меню, и там номер телефона вставлен в виде картинки со ссылкой на главную вместо
tel:12345678
:<a class="w-img-h" href="https://carchek.ru/"> <img width="500" height="90" class="for_default" alt="Привезти бензин" src="https://carchek.ru/wp-content/uploads/2017/04/Без-имени-13.png"> </a>
Спасибо. Буду править.
Думаю, потому что в мобильной версии отображается другое меню, и там номер телефона вставлен в виде картинки со ссылкой на главную вместо tel:12345678:
.. Для начала стоило бы убрать всякую прыгающую и тыкающую в морду хрень, а сделать простую форму заказа звонка.
это не моя забота. Меня знакомый попросил только телефон поправить, мои замечания по всяким хреням и тоннам скриптов проигнорировал. 🙂
Спасибо за наводку Sergey Biryukov.
Просто картинка вставлена с номером телефона и ссылка на главную страницу. Жесть…Класс:
<div class="w-img' . $classes . '">
$classes = ''; if ( isset( $design_options ) AND isset( $design_options['hide_for_sticky'] ) AND $design_options['hide_for_sticky'] ) { $classes .= ' hide-for-sticky'; } if ( ! empty( $img_transparent ) ) { $classes .= ' with_transparent'; } if ( isset( $id ) AND ! empty( $id ) ) { $classes .= ' ush_' . str_replace( ':', '_', $id ); } $output = '<div class="w-img' . $classes . '">'; $link_atts = usof_get_link_atts( $link ); if ( ! empty( $link_atts['href'] ) ) { $output .= '<a class="w-img-h" href="' . esc_attr( $link_atts['href'] ) . '"'; if ( ! empty( $link_atts['target'] ) ) { $output .= ' target="' . esc_attr( $link_atts['target'] ) . '"'; } $output .= '>'; } else { $output .= '<div class="w-img-h">'; } foreach ( array( 'img', 'img_transparent' ) as $key ) { $$key = preg_replace( '~\|full$~', '|large', $$key ); if ( empty( $$key ) OR ! ( $image = usof_get_image_src( $$key ) ) ) { continue; } $for = ( $key == 'img' ) ? 'default' : substr( $key, 4 ); $output .= '<img class="for_' . $for . '" src="' . esc_url( $image[0] ) . '"'; if ( ! empty( $image[1] ) AND ! empty( $image[2] ) ) { $output .= ' width="' . $image[1] . '" height="' . $image[2] . '"'; } if ( $img_alt = usof_get_image_alt( $$key ) ) { $output .= ' alt="' . esc_attr( $img_alt ) . '"'; } else { $output .= ' alt=""'; } $output .= ' />'; } if ( ! empty( $link_atts['href'] ) ) { $output .= '</a>'; } else { $output .= '</div>'; } $output .= '</div>'; echo $output;
w-img-h — этот класс выводится. Куда копаться, чтобы изменить в моб.версии этот класс, к примеру, на тот что в оригинале. Либо просто «тупо» всё убрать и прописать HTML разметку
tel:
?
В шаблоне нашёл, раздел что отвечает за шапку:echo '" itemscope="itemscope" itemtype="https://schema.org/WPHeader">'; foreach ( array( 'top', 'middle', 'bottom' ) as $valign ) { echo '<div class="l-subheader at_' . $valign; if ( isset( $options[$valign . '_fullwidth'] ) AND $options[$valign . '_fullwidth'] ) { echo ' width_full'; } echo '"><div class="l-subheader-h">'; foreach ( array( 'left', 'center', 'right' ) as $halign ) { echo '<div class="l-subheader-cell at_' . $halign . '">'; if ( isset( $layout[$valign . '_' . $halign] ) ) { us_output_header_elms( $layout, $data, $valign . '_' . $halign ); } echo '</div>'; } echo '</div></div>'; }
После нашёл файл header, где была прописана эта картинка:
foreach ( array( 'tablets' => 'image:2', 'mobiles' => 'image:3' ) as $layout => $key )
после чего в wpml-config.xml нашёл эту переменную image:3<key name="image:3"> <key name="img"/> <key name="img_transparent"/> <key name="link"/> </key>
И теперь, как я понимаю, нужно прописать так:
<key name="image:3"> <key name="text"/> <key name="link"/> </key>
но как в эту переменную запихнуть нужное мне значение, а именно
<a href="tel:123">текст</a>
?но как в эту переменную запихнуть нужное мне значение,
А что мешает просто убрать весь (ненужный) хлам и просто прописать html?
Пробовал тут менять:
$classes = ''; if ( isset( $design_options ) AND isset( $design_options['hide_for_sticky'] ) AND $design_options['hide_for_sticky'] ) { $classes .= ' hide-for-sticky'; } if ( ! empty( $img_transparent ) ) { $classes .= ' with_transparent'; } if ( isset( $id ) AND ! empty( $id ) ) { $classes .= ' ush_' . str_replace( ':', '_', $id ); } $output = '<div class="w-img' . $classes . '">'; $link_atts = usof_get_link_atts( $link ); if ( ! empty( $link_atts['href'] ) ) { $output .= '<a class="w-img-h" href="' . esc_attr( $link_atts['href'] ) . '"'; if ( ! empty( $link_atts['target'] ) ) { $output .= ' target="' . esc_attr( $link_atts['target'] ) . '"'; } $output .= '>'; } else { $output .= '<div class="w-img-h">'; } foreach ( array( 'img', 'img_transparent' ) as $key ) { $$key = preg_replace( '~\|full$~', '|large', $$key ); if ( empty( $$key ) OR ! ( $image = usof_get_image_src( $$key ) ) ) { continue; } $for = ( $key == 'img' ) ? 'default' : substr( $key, 4 ); $output .= '<img class="for_' . $for . '" src="' . esc_url( $image[0] ) . '"'; if ( ! empty( $image[1] ) AND ! empty( $image[2] ) ) { $output .= ' width="' . $image[1] . '" height="' . $image[2] . '"'; } if ( $img_alt = usof_get_image_alt( $$key ) ) { $output .= ' alt="' . esc_attr( $img_alt ) . '"'; } else { $output .= ' alt=""'; } $output .= ' />'; } if ( ! empty( $link_atts['href'] ) ) { $output .= '</a>'; } else { $output .= '</div>'; } $output .= '</div>'; echo $output;
Но как не сделаю, на выходе получается огромная картинка, которая была изначально и всё слетает. Все остальные image:1,image:2 .
Поэтому и полез в xml разметку и может там можно прописать?
Может можно отделить image:2 от image:3 в этом коде?
if ( isset( $header_settings['data']['image:1'] ) ) { foreach ( array( 'tablets' => 'image:2', 'mobiles' => 'image:3' ) as $layout => $key ) { if ( isset( $header_settings['data'][$key] ) OR ! isset( $usof_options['logo_image_' . $layout] ) OR empty( $usof_options['logo_image_' . $layout] ) ) { continue; } $header_settings['data'][$key] = array_merge( $header_settings['data']['image:1'], array( 'img' => $usof_options['logo_image_' . $layout], 'img_transparent' => '', ) );
И просто вывести image:3 в отдельную переменную и через ‘echo’ вывести html разметку?
после чего в wpml-config.xml нашёл эту переменную image:3
Это файл для плагина мультиязычности WPML и совместимых с ним. Максимум чего Вы добьетесь его изменением, это невозможности задавать разные значения опции для разных языков.
- Тема «Вызов по номеру телефона (tel:/callto:)» закрыта для новых ответов.