Je souhaite créer une page pouvant être intégrée à d'autres sites avec un script d'intégration tel que celui-ci:
<iframe src="http://www.example.com/the_hidden_page?setting=set1&setting2=set2"></iframe>
La page devra être "masquée" pour ne pas apparaître dans le menu de mon site et accepter une chaîne de requête.
L'URL dans mon exemple n'a pas besoin d'être exactement comme ceci, quelque chose comme /the_hidden_page/set1/set2
conviendrait également.
D'abord, vous aurez besoin d'un petit plugin. Copiez-le simplement dans un fichier .php
, ajoutez-le à un dossier, compressez-le et envoyez-le sur votre installation.
Ce petit plugin vérifie uniquement si la partie de requête wpembed
est présente et si elle est définie sur true
. Si les deux est le cas et la demande ressemble à par exemple
https://example.com?wpembed=true
alors un modèle personnalisé sera d'abord recherché dans votre thème enfant dans votre thème parent et, s'il est trouvé, sera utilisé à la place de tout autre modèle de la hiérarchie des modèles.
<?php
defined( 'ABSPATH' ) OR exit;
/** Plugin Name: (#102480) WP Embed */
add_action( 'template_redirect', 'wpse_102480_wpembed' );
function wpse_102480_wpembed()
{
if ( isset( $_GET['wpembed'] AND 'true' === $_GET['wpembed'] )
{
include( locate_template( 'wpembed.php' ) );
exit;
}
}
Ajoutez simplement un autre fichier de modèle à votre thème (enfant) nommé (dans cet exemple) wpembed.php
. Là, vous ajoutez ce que vous voulez être sorti quand il est appelé. Vous pouvez accéder aux arguments de requête via les paramètres $_GET
ou (éventuellement) même via get_query_var( 'key_name' );
.
Vous pouvez ajouter ou supprimer des pages du menu selon vos besoins. Si vous n'avez pas encore créé de menu, créez-en un dans Apparence-> Menus, puis définissez-le comme menu principal, puis ajoutez toutes les pages que vous souhaitez afficher dans la section de menu.
Utiliser Exclure les pages de la navigation de Simon Wheatley. Éditez votre page et décochez la case Inclure cette page dans les listes de pages de la section Exclure les pages . Sauvegarder la page. C'est tout.