Intereting Posts
wp_nav_menu () reutrns HTTPS? возникли проблемы с моим плагином сообщений в категории категорий Защита папки wp-admin – Цель? Важность? Есть ли способ разрешить пользователям доступ к контенту до его публикации? как удалить обязательные обязательные поля в регистрации приятеля Прямокоды всегда отображаются в первую очередь. Еще раз Как установить сценарий, если виджет отображается на странице? Невозможно загрузить функцию WP во внешнюю функцию Добавьте класс в элемент меню верхнего уровня, если он имеет несколько дочерних уровней Как изменить размеры заголовка в WordPress? Переслать список для пересылки по электронной почте на пользователя Отображать различные материалы для разных стран? Как расширить тег и категорию «Связанные сообщения» в пользовательский post_type, если первые 2 условия не имеют сообщений Как перечислить дерево страниц? Плагины отключены и настройки «отключены» после изменения прав доступа к файлам

Как определить, есть ли другой адрес / страница внешнего интерфейса в HTTPS / SSL от администратора, чтобы отобразить уведомление?

Я создаю плагин, который генерирует форму в настраиваемом сообщении. Для обеспечения безопасности я хотел бы предупредить администратора с уведомлением, если этот конкретный пост еще не работает с HTTPS / SSL.

Я знаю функцию is_ssl (), но она должна проверять текущую страницу, а не конкретную запись по идентификатору.

У кого-то есть идея?

Solutions Collecting From Web of "Как определить, есть ли другой адрес / страница внешнего интерфейса в HTTPS / SSL от администратора, чтобы отобразить уведомление?"

Вы можете получить все сообщения / страницы, проверить, используется ли короткий код для вашего плагина, и если так получить постоянную ссылку для этой публикации / страницы.

Кроме этого, я не знаю никакого надежного метода. И хотя я думаю, что ваши намерения хороши, на самом деле это не принадлежит вашему плагину, это не ваша работа по обучению людей.

Я нашел это решение:

В моем объекте Admin

add_action( 'admin_notices', array( $this, 'display_warning_no_ssl') ); function display_warning_no_ssl() { $forms = foo_get_form_pages(); foreach ( $forms as $form ){ $permalink = get_post_permalink( $form['ID'] ); $protocol = foo_get_protocol( $permalink ); if($protocol !== "https"){ ?> <div class="notice error is-dismissible" > <p><?php _e( 'Enabling the HTTPS protocol for the page : "'.$permalink.'" is not mandatory but strongly advised for security issues for your users.!', PLUGIN_DOMAIN ); ?></p> </div> <?php } } } 

В моем helpers.php

 function foo_get_form_pages(){ global $wpdb; $forms_query_string = "SELECT * FROM {$wpdb->prefix}posts WHERE post_type='foo'"; $forms = $wpdb->get_results( $forms_query_string, ARRAY_A ); $f_forms = array(); foreach ( $forms as $key => $val ){ $f_forms[$val['post_name']] = $val; } return $f_forms; } function foo_get_protocol( $url ){ $a_url = explode("://", $url); return $a_url[0]; }