Intégrer la publication dans une page externe

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/