levi1128
フォーラムへの返信
-
フォーラム: プラグイン
返信が含まれるトピック: ah-placeholder.jsプラグインの実装ができない>>Ayustar様
ご回答いただいたソースコードで実装することができました。
ご丁寧なご回答、ありがとうございました。また、JS部分の外部化に関しても、ご指摘ありがとうございます。
フォーラム: 使い方全般
返信が含まれるトピック: header("Location: http:");ができないフォーラム: 使い方全般
返信が含まれるトピック: header("Location: http:");ができない>>jim912様
上記コードをfunction.phpに記入した場合、wordpress管理画面の「固定ページ一覧」をクリックすると、http://www.example.comにリダイレクトされますが、それは仕方ないのでしょうか。それとも私のコードが悪いのでしょうか。
重ね重ね質問してしまい申し訳ありません。
フォーラム: 使い方全般
返信が含まれるトピック: header("Location: http:");ができない>>jim912様
少し時間がかかりましたが、おかげさまで解決することができました。
今回のheader(“Location: http:”)ができないために、諦めていた実装がいくつかありましたので大変嬉しいです。心からありがとうございました。(検索で辿り着いた方のためにコードを載せておきます)
/*実際に固定ページに入力するショートコード*/ function test() { header("Location: http://www.example.com"); exit; } add_shortcode('test', 'test'); /*テンプレートファイルを読み込む前のtemplate_redirectで、独自にショートコード[test]を取得し実行させる*/ function your_prefix_detect_shortcode() { global $post; $pattern = get_shortcode_regex(); if(preg_match_all( '/'. $pattern .'/s', $post -> post_content, $matches) && array_key_exists( 2, $matches ) && in_array( 'test', $matches[2] ) ) { do_shortcode('[test]'); } } add_action( 'wp', 'your_prefix_detect_shortcode' );
フォーラム: 使い方全般
返信が含まれるトピック: header("Location: http:");ができない>>jim912様
早速のご返信ありがとうございます。
また、参照URLもご提示いただきありがとうございます。>>テンプレートファイル上で実行されるショートコードは、すでにレスポンスヘッダーが出力された後で実行されます。リダイレクトのLocation ヘッダーは、このレスポンスヘッダーに含める必要があるため、テンプレートファイル上でのショートコードでは、リダイレクトすることはできません。
⇒理解いたしました。>>実現方法としては、テンプレートファイルを読み込む前の template_redirect で、独自にショートコードを取得し、実行させる方法です。
Function Reference/get shortcode regex の Usage に、$post->post_content から、独自のショートコードを取得するコードが載っていますので参考としてください。
⇒私の力不足から、ここを理解することができませんでした。もしお時間あられましたら、もう少し詳しく教えていただけないでしょうか。お手数おかけして、大変申し訳ありません。