logo rond@3x

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/