Wie kann ich feststellen, ob ein anderer Front-End-Post / eine andere Seite in HTTPS / SSL vom Administrator angezeigt wird, um eine Benachrichtigung anzuzeigen?

Ich mache ein Plugin, das ein Formular in einem benutzerdefinierten Beitrag generiert. Aus Sicherheitsgründen möchte ich den Administrator mit einer Benachrichtigung informieren, wenn dieser bestimmte Beitrag noch nicht mit HTTPS / SSL funktioniert.

Ich kenne die function is_ssl (), aber es ist die aktuelle Seite, nicht ein bestimmter Beitrag von der ID zu überprüfen.

Jemand hat eine Idee?

Solutions Collecting From Web of "Wie kann ich feststellen, ob ein anderer Front-End-Post / eine andere Seite in HTTPS / SSL vom Administrator angezeigt wird, um eine Benachrichtigung anzuzeigen?"

Sie können alle Posts / Seiten abrufen, prüfen, ob der Shortcode für Ihr Plugin verwendet wird, und falls ja, den Permalink für diesen Post / diese Seite abrufen.

Ansonsten kenne ich keine zuverlässige Methode. Und während ich denke, dass deine Absichten gut sind, gehört das nicht wirklich zu deinem Plugin, es ist nicht wirklich deine Aufgabe, Leute zu erziehen.

Ich habe diese Lösung gefunden:

In meinem Admin-Objekt

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"){ ?> 

< ?php _e( 'Enabling the HTTPS protocol for the page : "'.$permalink.'" is not mandatory but strongly advised for security issues for your users.!', PLUGIN_DOMAIN ); ?>

< ?php } } }

In meinen Helfern.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]; }