投稿タイプのテンプレートを作成しました。これはうまく機能します。ただし、オリジナルの特定の部分と同様の複製が必要です。
を使用して ajax 呼び出しを行っていますjQuery $.get
。2 番目の投稿タイプ テンプレートをターゲットにして、現在のページにのみ html をプルしたいと考えています。
現時点では、ajax 呼び出しにより、スクリプトを含むページ全体が読み込まれます。Modernizr は、コンテンツ全体と同様に読み込まれます。
次のように、クエリ変数を使用してみました。
// http://scratch99.com/wordpress/development/how-to-change-post-template-via-url-parameter/
function sjc_add_query_vars($vars) {
return array('template') + $vars;
}
add_filter('query_vars', 'sjc_add_query_vars');
function sjc_template($template) {
global $wp;
if ($wp->query_vars['template'] === 'test') {
return dirname( __FILE__ ) . '/single-test.php';
}
else {
return $template;
}
}
add_filter('single_template', 'sjc_template');
コードはうまく機能しますが、このエラーが発生します
Notice: Undefined index: template in /wp-content/themes/custom--theme/functions.php on line 262
262 is: f ($wp->query_vars):
プロジェクトシングルが正常にロードされると、コードがelseステートメントにヒットしたときにこれが問題になると思います。
どんな助けでも素晴らしいでしょう。