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.
Prérequis: Plugin personnalisé
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 qu’il fait
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;
}
}
Dans ton thème (enfant)
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' );
.
Source : https://www.it-swarm-fr.com/fr/embed/integrer-la-publication-dans-une-page-externe/961801692/