サポート » 使い方全般 » 変更をプレビューについて

  • お世話になります。
    固定ページで一旦公開したページを編集する際、
    「変更をプレビュー」をクリックすると、
    すでに選択されているテンプレートで記事が表示されます。
    そのテンプレートを変更して、一旦プレビューで確認したい場合
    「変更をプレビュー」では反映されないのでしょうか?
    現在は更新をしない限り反映されません。

    パーマリンクの設定はカスタム構造で
    /%postname%
    にしています。
    ページのファイル名は任意で付けたいので、
    これを生かしたまま上記の動作は可能でしょうか?

    なにかプラグインの影響等があればご指導をお願いします。
    よろしくお願いいたします。

15件の返信を表示中 - 1 - 15件目 (全19件中)
  • ムリムリですけど、以下を functions.php に追加すれば OK(WordPress 3.0.1)。

    <?php
    global $wp;
    if( ! in_array( 'page_template', $wp->public_query_vars ) )
      array_push( $wp->public_query_vars, 'page_template' );
    
    add_filter( 'wp_parse_str', 'my_parse_str' );
    function my_parse_str( $array ) {
      if( isset($_POST['wp-preview']) && 'dopreview' == $_POST['wp-preview'] && isset( $_POST['page_template'] ) )
        $array['page_template'] = $_POST['page_template'];
      return $array;
    }
    add_filter( 'page_template', 'my_page_template' );
    function my_page_template( $templates ) {
      $template = get_query_var( 'page_template' );
      if ( '' != $template )
        $templates = locate_template( (array)$template);
      return $templates;
    }
    ?>

    トピック投稿者 igarashi5620

    (@igarashi5620)

    kz さん

    ありがとうございます。
    試してみたのですが、画面が真っ白になってしまいました。

    単純にコピペしただけではダメなのでしょうか?
    ご指導よろしくお願いします。

    ちなみにwpのバージョンは2.9.2です。

    コピペだけで OK です。
    2.9.2 だとダメなのかもですね。

    トピック投稿者 igarashi5620

    (@igarashi5620)

    そうですか?
    3.0.1でも同じく画面が真っ白になってしまいダメでした。

    頭にfunction〜とか必要なんですかね?

    まさかとは思いますが、

    <?php
    ~今までのコード
    <?php
    コピペのコード
    ?>
    
    ?>

    とか、なってないですよね?
    すでに使用しているfunctions.phpがあるのなら、<?php ?>の間に<?php ?>を除いたコードをコピペしてください。<?php ?>が必要なのはファイルの最初と最後(もしくはコード中にhtmlコードをはさんでいる場合のごく一部)です。

    htmlのコードでも

    <html>
    ~普通のhtmlコード
    
    <html>
    ~追加のコード
    </html>
    
    </html>

    なんて書き方しませんでしょ?

    トピック投稿者 igarashi5620

    (@igarashi5620)

    shokun0803 さん

    まさかでした。。
    おかげさまでできましたが、、、

    デフォルトテンプレートを選択してプレビューした際、
    今だと「メインインデックスのテンプレート (index.php)」
    ブログのテンプレートが表示されてしまいます。

    固定ページ用のページテンプレート (page.php)が表示されるようにするのは
    可能でしょうか?

    ドゾ。

    global $wp;
    if( ! in_array( 'page_template', $wp->public_query_vars ) )
      array_push( $wp->public_query_vars, 'page_template' );
    
    add_filter( 'wp_parse_str', 'my_parse_str' );
    function my_parse_str( $array ) {
      if( isset($_POST['wp-preview']) && 'dopreview' == $_POST['wp-preview'] && isset( $_POST['page_template'] ) && 'default' != $_POST['page_template'] )
        $array['page_template'] = $_POST['page_template'];
      return $array;
    }
    add_filter( 'page_template', 'my_page_template' );
    function my_page_template( $templates ) {
      $template = get_query_var( 'page_template' );
      if ( '' != $template )
        $templates = locate_template( (array)$template);
      return $templates;
    }

    トピック投稿者 igarashi5620

    (@igarashi5620)

    kz さん

    ありがとうございます。
    ですが、作成したテンプレートの表示はうまく表示されますが、
    デフォルトの「ページテンプレート (page.php)」については
    表示されません。
    「ページテンプレート (page.php)」はサイドバーを不要にしていたのですが、
    サイドバーが入った状態で表示されます。
    どうも他のテンプレートを読み込んでいるように思いますが、
    なにかおかしいですかね?

    デフォルトの「ページテンプレート (page.php)」

    これに「ページ用」テンプレート用の記述はされていますか?そしてプルダウンで該当のテンプレートを選択していますか?

    あれ?ページテンプレートを選択しなくても「ページテンプレート (page.php)」が選択されるようにってことでしたっけ?なんだかよくわからなくなってきましたヽ(゜ー゜;)ノ

    トピック投稿者 igarashi5620

    (@igarashi5620)

    これに「ページ用」テンプレート用の記述はされていますか?そしてプルダウンで該当のテンプレートを選択していますか?

    page.phpについてはWPインストール時からあるテンプレートなのでテンプレート用の記述はしていません。
    プルダウンで該当の「デフォルトテンプレート」を選択しています。

    例)テンプレートのプルダウンメニュー
    ・デフォルトテンプレート(page.php)
    ・common(新規に作成した共通のテンプレート)

    commonを選択する分には問題なく、デフォルトテンプレートを選択した際、プレビュー画面の表示が実際のものと異なります。

    プルダウンで「デフォルトテンプレート」なら page.php で表示されるのを確認済です(WordPress 3.0.1)。
    まさにデフォルトの動作なので、何もしなくてもそうなりますー。

    page.php に
    <p>これは page.php ですよー</p>
    って書いて「おぉ、page.php で表示されとるではないか」とご確認ください。

    トピック投稿者 igarashi5620

    (@igarashi5620)

    kz さん

    いろいろありがとうございます。

    やはり「デフォルトテンプレート」のみなりません。

    ちなみに3.0.1です。

    考えられる原因として、使用しているプラグインによるものかもしれません。。

    一旦外してとか試してみます。

    トピック投稿者 igarashi5620

    (@igarashi5620)

    使用しているプラグインをすべて外して試してみましたが、

    結果は同じでした。

    表示設定のフロントページで使用している固定ページのテンプレートが

    デフォルトテンプレート(page.php)だと

    表示されないとかあるんですかね?

    出来ればトップは「page.php」を表示に使用したいのですが??

    表示設定のフロントページで使用している固定ページ、の
    「ページ属性」の「テンプレート」が page.php で、それは

    /*
    Template Name: これはページのテンプレートですよー
    */

    とか書いてある「カスタムページテンプレート」なんですね?

    てことは、フロントページも普通の固定ページも同じ page.php で表示されますね?

    ウチ(3.0.1)ではそうなりますー。で、

    1.フロントページ/普通の固定ページを編集して[変更をプレビュー]するときに、
    2.「ページ属性」の「テンプレート」が「デフォルトテンプレート」なら
     page.php で表示されますし
    3.「ページ属性」の「テンプレート」が「One column, no sidebar」なら
     onecolumn-page.php で表示されますし
    4.「ページ属性」の「テンプレート」が例えば「これはページのテンプレートですよー」なら
     やはり 1. と同じ page.php で表示されます。

    確認済、オールOKです。

    トピック投稿者 igarashi5620

    (@igarashi5620)

    表示設定のフロントページで使用している固定ページ、の
    「ページ属性」の「テンプレート」が page.php で、それは

    /*
    Template Name: これはページのテンプレートですよー
    */

    とか書いてある「カスタムページテンプレート」なんですね?

    ではなくて、インストール時からある「page.php」です。

    カスタムで作成したものはテンプレート名を変更していますし、page.php以外については動作確認が出来ているので特に問題ありません。

    始めから3.0.1をインストールし直して試してみましたが結果は同じで表示されません。

    パーマリンクの設定もカスタム構造「/%postname%」からデフォルトに戻してもダメでした。

    後は特に手を加えている部分はないのですが。。

    う〜ん困りました。

    「page.php」自体になにか設定が必要なのでしょうか?

    さっぱりです。。

15件の返信を表示中 - 1 - 15件目 (全19件中)
  • トピック「変更をプレビューについて」には新たに返信することはできません。