web-dev-qa-db-ja.com

外部ページに投稿を埋め込む

このような埋め込みスクリプトを使用して、他のサイトに埋め込むことができるページを作成します。

<iframe src="http://www.example.com/the_hidden_page?setting=set1&setting2=set2"></iframe>

このページは私のサイトのメニューに表示されないように '非表示'にする必要があり、クエリ文字列を受け入れる必要があります。

私の例のURLは必ずしもこのようにする必要はありません。/the_hidden_page/set1/set2のようなものでも問題ありません。

1
Lee Loftiss

前提条件:カスタムプラグイン

まず小さなプラグインが必要です。それを.phpファイルにコピーペーストして、それをZipフォルダに追加し、あなたのインストールにアップロードするだけです。

それは何ですか

この小さなプラグインはwpembedクエリ部分が存在するかどうか、そしてそれがtrueに設定されているかどうかをチェックするだけです。両方が該当する場合、要求は次のようになります。

https://example.com?wpembed=true

カスタムテンプレートは、親テーマの子テーマで最初に検索され、見つかった場合はテンプレート階層の他のテンプレートの代わりに使用されます。

<?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;
    }
}

あなたの(子供)テーマに

(この例では)wpembed.phpという名前の(子)テーマに別のテンプレートファイルを追加するだけです。そこにあなたはそれが呼び出されたときに出力したいものは何でも追加します。 $_GETパラメータを介して、あるいは(おそらく)get_query_var( 'key_name' );を介しても、クエリ引数にアクセスできます。

1
kaiser

必要に応じてメニューからページを追加または削除できます。まだメニューを作成していない場合は、[外観] - > [メニュー]で作成し、それをメインメニューとして設定してから、表示するすべてのページをメニューセクションに追加します。

1
suvajit

Simon Wheatleyによる ナビゲーションからのページの除外 を使用します。ページを編集してボックスのチェックを外しますこのページをページのリストに含めるセクションのページを除外する。ページを保存してください。それで全部です。