web-dev-qa-db-ja.com

カスタム投稿タイプ専用のfunctions.php条件タグ

私はgppスライドショーを使っていますが、これはwordpressのデフォルトのギャラリー表示を上書きします。私のカスタム投稿タイプである "listings"でのみ使用したいのですが、 "listings"ページのwordpressのデフォルトのギャラリーのみを置き換えるためにどのように参照するのですか

私は自分のfunctions.phpにこのコードを持っている、そして私はカスタム投稿タイプのための参照を正しく得るように思えない:

add_action('wp_head','add_gpp_gallery');
function add_gpp_gallery() {
    if( ( is_single() || is_page() ) && ( !is_page_template('page-blog.php') ) ){
        remove_shortcode('gallery', 'gallery_shortcode');
        add_shortcode('gallery', 'gpp_gallery_shortcode');
    }
}

上記のプラグインが使用しているコードであり、私は私のfunctions.phpにそれを追加し、この変更を試してみました:

if (is_single() && is_post_type('post_type'){

そしてそれはエラーを返します。

考えと感謝

3
Jason

代わりに get_post_type() を使ってみてください。

if ( is_single() && 'post_type' == get_post_type() ) {
    // Do something
}

is_post_type()条件は廃止予定です。しかし、それが存在していても、現在の投稿が登録済みのカスタム投稿タイプの場合はtrueを返します。 post_type_exists() に置き換えられました。

ポストタイプコンディショナルタグの詳細 。)

3
Chip Bennett

括弧が抜けているようです。試してください:

if (is_single() && is_post_type('post_type')) {
0
Isendra