2017-05-15 15 views
0

ニュースとイベントの新しい投稿タイプを作成するWordpressのプラグインを作成しています(はい、まだ別の;-))。ポストタイプは、gg_naeという名前で登録されます。プラグインsingle.phpが表示されない

ポストタイプは期待通りに機能します。ポストタイプを保存して編集することができます。

今、カスタムテンプレートファイルを作成します。私はそれを単一のgg_nae.phpと呼び、これをプラグインコードと同じフォルダに保存しました。 私はhttps://developer.wordpress.org/plugins/post-types/working-with-custom-post-types/の説明を正しく理解していれば、カスタムテンプレートの投稿タイプをレンダリングするのに十分であるはずですが、それはできません。これはテンプレートからのsingle.phpファイルを使って投稿をレンダリングします。

ただし、カスタムテンプレートをテーマフォルダに移動すると、Wordpressはテンプレートを意図したとおりに使用します。単一のgg_nae.phpテンプレートに投稿を表示します。

私はここで間違っていますか?単一のgg_nae.phpをプラグインマップの特定のフォルダに配置する必要がありますか?

編集:私はすでにパーマリンク構造をもう保存しましたが、それは助けになりませんでした。

答えて

0

の残りの部分と引数リストでそれを試してみてください。

私は過去のカスタム投稿の種類を作成していましたが、Wordpressのテーマのfunctions.phpにそれらを含めて、テンプレート(archive-PostTypeName.phpとsingle-PostTypeName.php)を作成して表示しました。私はそれがCPTプラグインを開発するときにも必要であると仮定しました。

ただし、プラグインの場合は、フィルタを使用してプラグイン内からsingle.phpテンプレートの動作を変更する必要があります。それ以外の場合は、コンテンツを紹介し、型「PostTypeName」のポストを開くと、コンテンツが「これは私のカスタムポストタイプです!」と言うだろう

/** 
* Alter the_content if Posttype is custom post type 
* 
* @uses is_single() 
*/ 

add_filter('the_content', 'my_the_content_filter', 20); 

function my_the_content_filter($content) { 
if (is_single() AND get_post_type() === 'PostTypeName') { 
    // Do stuff here 
    $content = 'This is My Custom Post Type!'; 
} 

// Returns the content. 
return $content; 
} 

:私は私のプラグインに、次の(簡体字)のコードを追加しましたページの投稿のフィルター(およびアクション)について

詳しい情報はin the Wordpress Codex

1

唯一のパラメータの下に、この3に不足しているため、uは誤差

'rewrite'   => array('slug' => 'slider'), 
    'capability_type' => 'post', 
    'has_archive'  => true, 
    'hierarchical'  => true, 

を取得しているが、この問題に近づいたときに、私はすべて間違って考えていたパラメータ

+0

これらの引数はregister_post_type機能に既にあることができます。そして、私はエラーを取得していない、プラグインは間違ったテンプレートを使用します。 – Ted

+0

テーマのフォルダにテンプレートを作成し、下のコードをプラグインコアファイルに貼り付けてください。 ポストタイプをポストタイプ名に置き換えます。<?php function get_custom_post_type_template($ single_template){ global $ post; if($ post-> post_type == 'my_post_type'){ $ single_template = dirname(__FILE__)です。 '/post-type-template.php'; } return $ single_template; } add_filter( 'single_template'、 'get_custom_post_type_template'); ?> –

関連する問題