サポート » 使い方全般 » Template Post Typeを使用した場合の挙動について

  • 解決済 saki-saki

    (@saki-saki)


    いつもお世話になっております。
    今回は標準の投稿タイプ(post)について、ご質問があります。

    WordPress4.7から投稿やカスタム投稿などでテンプレートを使えるようになったかと思います。

    single-pattern1.php
    <?php
    /*
    Template Name: パターン1
    Template Post Type: post
    */
    ?>

    ただ、うまく動作出来ていないようにも思えます。
    以下の挙動については、どの様に対応すればよいでしょうか。

    1.一度登録したテンプレートファイル(例:single-pattern1.php)を削除すると下記の様なエラーがでます。

    /wp/wp-content/themes/practice/single-pattern1.php): failed to open stream: No such file or directory
    in /wp\wp-includes/class-wp-theme.php on line 1042

    2.初回時の自作テーマの読み込み以降に追加した場合のテンプレート(single-pattern2.php)が登録されない現象。

    1と2の現象を解決するのに至って、何か良い方法はないでしょうか?
    私の解決方法としては、phpmyadminで対象テンプレート名を検索する限り【wp_options】に追加されているようですので、プラグインの【Database Reset】を使ってwp_optionsテーブルをリセットすれば追加したテンプレートも反映され削除したテンプレートも1の様なエラーが出なくなります。

    この対処法は間違っていると思うのですが、現在はこれで対応しています。

    【wp_options】全てをリセットする必要は無く、【wp_options】に追加されたレコードだけを削除したのですがこのような方法だと、投稿画面で投稿の属性が表示されなくなってしまうバグが発生します。

    私のテンプレート登録方法が間違っているのか、WordPressの現在のバグなのか、わかる方がいましたら
    アドバイスをいただけたら幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • CG

    (@du-bist-der-lenz)

    「1と2」ともにおいて、テーマを一旦リセット後でも保持されるのですね。

    こんにちは

    バグとしてチケットが発行されてますね。
    https://core.trac.wordpress.org/ticket/42573

    4.9.1 で修正される予定です。
    それまで待てない場合は問題を修正する回避策プラグインもあるようなので試してみてはと思います。
    https://gist.github.com/westonruter/6c2ca0e5a4da233bf4bd88a1871dd950

    トピック投稿者 saki-saki

    (@saki-saki)

    CG様
    ご回答ありがとうございます。
    >>テーマを一旦リセット後
    とは違うテーマに変えて再度、自作テーマにするということでしょうか?
    それであればやってみましたが、だめでした。

    ishitaka様
    おっしゃる通りバグとして発行されてましたね。。。
    特に急ぎではなかったので4.9.1まで待とうかと思います。
    回避策もご提示していただいきありがとうございました。試しにFunction.phpに貼っつけてみます。
    ご回答ありがとうございました。

    CG

    (@du-bist-der-lenz)

    4.9で導入された新機能の副作用でしょうかね。わたしもカスタムテンプレートを変更しようとして有効にならないので疑問に思っているところでした。そのテーマ固有の問題だと諦めて追加して、誤魔化したところなので納得いきました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「Template Post Typeを使用した場合の挙動について」には新たに返信することはできません。