web-dev-qa-db-fra.com

Intégrer la publication dans une page externe

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.

1
Lee Loftiss

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' );.

1
kaiser

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.

1
suvajit

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.

0