Intereting Posts
Пользовательский запрос на основе настраиваемого поля одной записи WP All Import – импортировать дерево категорий Скрытие WordPress за перенаправлением IIS Ответ Strange 403 заголовка Переадресация страницы-CPT.php в архив или single.php добавить боковую область в заголовок дочерней темы Изменить канал RSS для изменения структуры iframe Как добавить пользовательские ссылки подменю в меню wp-admin? Редактор изображений WordPress не работает – конфликт? Как настроить тему по умолчанию в многопользовательской сети Шрифт отображается как Arial вместо Times Тема WooThemes PremiumNews jQuery Конфликт с WordPress 3.2 Условный тег для членства в списке желаний. Если пользователь добавляется на два уровня, отображается конкретный контент Список страниц для отображения только вспомогательных страниц с белыми списками Создание динамического содержимого страницы с пользовательской страницы плагина WordPress

Как определить, есть ли другой адрес / страница внешнего интерфейса в 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]; }