変更をプレビューについて
-
お世話になります。
固定ページで一旦公開したページを編集する際、
「変更をプレビュー」をクリックすると、
すでに選択されているテンプレートで記事が表示されます。
そのテンプレートを変更して、一旦プレビューで確認したい場合
「変更をプレビュー」では反映されないのでしょうか?
現在は更新をしない限り反映されません。パーマリンクの設定はカスタム構造で
/%postname%
にしています。
ページのファイル名は任意で付けたいので、
これを生かしたまま上記の動作は可能でしょうか?なにかプラグインの影響等があればご指導をお願いします。
よろしくお願いいたします。
-
ムリムリですけど、以下を 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; } ?>
kz さん
ありがとうございます。
試してみたのですが、画面が真っ白になってしまいました。単純にコピペしただけではダメなのでしょうか?
ご指導よろしくお願いします。ちなみにwpのバージョンは2.9.2です。
コピペだけで OK です。
2.9.2 だとダメなのかもですね。そうですか?
3.0.1でも同じく画面が真っ白になってしまいダメでした。頭にfunction〜とか必要なんですかね?
まさかとは思いますが、
<?php ~今までのコード <?php コピペのコード ?> ?>
とか、なってないですよね?
すでに使用しているfunctions.phpがあるのなら、<?php ?>
の間に<?php ?>
を除いたコードをコピペしてください。<?php ?>
が必要なのはファイルの最初と最後(もしくはコード中にhtmlコードをはさんでいる場合のごく一部)です。htmlのコードでも
<html> ~普通のhtmlコード <html> ~追加のコード </html> </html>
なんて書き方しませんでしょ?
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; }
kz さん
ありがとうございます。
ですが、作成したテンプレートの表示はうまく表示されますが、
デフォルトの「ページテンプレート (page.php)」については
表示されません。
「ページテンプレート (page.php)」はサイドバーを不要にしていたのですが、
サイドバーが入った状態で表示されます。
どうも他のテンプレートを読み込んでいるように思いますが、
なにかおかしいですかね?デフォルトの「ページテンプレート (page.php)」
これに「ページ用」テンプレート用の記述はされていますか?そしてプルダウンで該当のテンプレートを選択していますか?
あれ?ページテンプレートを選択しなくても「ページテンプレート (page.php)」が選択されるようにってことでしたっけ?なんだかよくわからなくなってきましたヽ(゜ー゜;)ノ
これに「ページ用」テンプレート用の記述はされていますか?そしてプルダウンで該当のテンプレートを選択していますか?
page.phpについてはWPインストール時からあるテンプレートなのでテンプレート用の記述はしていません。
プルダウンで該当の「デフォルトテンプレート」を選択しています。例)テンプレートのプルダウンメニュー
・デフォルトテンプレート(page.php)
・common(新規に作成した共通のテンプレート)commonを選択する分には問題なく、デフォルトテンプレートを選択した際、プレビュー画面の表示が実際のものと異なります。
プルダウンで「デフォルトテンプレート」なら page.php で表示されるのを確認済です(WordPress 3.0.1)。
まさにデフォルトの動作なので、何もしなくてもそうなりますー。page.php に
<p>これは page.php ですよー</p>
って書いて「おぉ、page.php で表示されとるではないか」とご確認ください。kz さん
いろいろありがとうございます。
やはり「デフォルトテンプレート」のみなりません。
ちなみに3.0.1です。
考えられる原因として、使用しているプラグインによるものかもしれません。。
一旦外してとか試してみます。
使用しているプラグインをすべて外して試してみましたが、
結果は同じでした。
表示設定のフロントページで使用している固定ページのテンプレートが
デフォルトテンプレート(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です。
表示設定のフロントページで使用している固定ページ、の
「ページ属性」の「テンプレート」が page.php で、それは/*
Template Name: これはページのテンプレートですよー
*/とか書いてある「カスタムページテンプレート」なんですね?
ではなくて、インストール時からある「page.php」です。
カスタムで作成したものはテンプレート名を変更していますし、page.php以外については動作確認が出来ているので特に問題ありません。
始めから3.0.1をインストールし直して試してみましたが結果は同じで表示されません。
パーマリンクの設定もカスタム構造「/%postname%」からデフォルトに戻してもダメでした。
後は特に手を加えている部分はないのですが。。
う〜ん困りました。
「page.php」自体になにか設定が必要なのでしょうか?
さっぱりです。。
- トピック「変更をプレビューについて」には新たに返信することはできません。