佐賀でふらふり

佐賀をうろつくWebデザイナーのブログ

WordPress こうしてみた

カスタムフィールドのデータ持ち回りは投稿ID使うと楽ちんだった


もう3月おしまいですよ。
今年も残り75%ですよ。

さて、今日もカスタムフィールドを使ったネタですが、とあるページに表示してあるカスタムフィールドの情報を次のページヘ遷移して、さらにお問い合わせフォームに向かう必要がありまして。

その時に、どうやって情報を持ち回ったら楽ちんなのかなぁ。と考えた結果、投稿IDだけ持ち回れば非常に楽ちんだったというお話です。

目次

  1. こんな時に使えそう
  2. 値を持ちまわる
  3. あっ!投稿ID持っていけばいいんだ!
  4. まとめ

こんな時に使えそう

カスタムフィールドを使った投稿で、そのカスタムフィールドの値を引き継いだまま、別の固定ページなどヘ遷移するときに役立ちます。

固定ページに投稿内容を表示するのではなくて、投稿で使ったカスタムフィールドの値を固定ページでも引き続き使いたい。ということです。
値を持ちまわるイメージ - カスタムフィールドのデータ持ち回りは投稿ID使うと楽ちんだった

今回の場合は、最終的にお問い合わせフォームへ遷移するんですが、「投稿」→「固定」→「固定(お問い合わせ)」と遷移しました。

値を持ちまわる

ここからはWordPressというよりは、PHPなんですが、単純に値をPOSTして持ち回ります。

例として、カスタムフィールド『持ち回り』を設定して投稿します。
投稿画面 - カスタムフィールドのデータ持ち回りは投稿ID使うと楽ちんだった

シングルページから固定ページヘ値を持って行くんですが、どうしたら持ち回れるでしょうか?
僕が考えたのはformを使って持ちまわる方法でした。

<form action="uketori.php" method="post">
	<input type="hidden" name="kore" value="<?php echo get_post_meta($post->ID, '持ち回り', true);?>">
	<button type="submit">次へ進め</button>
</form>

こんな感じですね。
シングルページ - カスタムフィールドのデータ持ち回りは投稿ID使うと楽ちんだった

ただ、これだと受け取り側のページで

$uketori = $_POST['kore'];

として取得する必要がありますよね。

そしてそれをさらにPOSTなんかする場合、

<form action="saigo.php" method="post">
	<input type="hidden" name="mochimawari" value="<?php echo $uketori;?>">
	//もしくは直接これでいけるんでしょうか?
	<input type="hidden" name="mochimawari" value="<?php echo $_POST&#91;'mochimawari'&#93;;?>">
	<button type="submit">最後へ進め</button>
</form>

とする必要があって、なんかあんまりスマートじゃない気がするし、めんどくさい。

あっ!投稿ID持っていけばいいんだ!

上みたいなことをやて、初めて気が付きました。
変にカスタムフィールドの値を持ちまわる必要がないんですよね。投稿IDさえあれば。

つまり、シングルページから

<form action="uketori.php" method="post">
	<input type="hidden" name="post_id" value="<?php the_ID();?>">
	<button type="submit">次へ進め</button>
</form>

としておいて、受け取り側で

$post_ID = $_POST['post_id'];
<form action="saigo.php" method="post">
	<input type="hidden" name="mochimawari" value="<?php echo get_post_meta($post_ID, '持ち回り', true);?>">
	<button type="submit">最後へ進め</button>
</form>

と、取得すれば楽だったんじゃないかと。

これで固定ページヘ簡単にカスタムフィールドの値を表示することが出来ました。
固定ページ - カスタムフィールドのデータ持ち回りは投稿ID使うと楽ちんだった

まとめ

書いてみたものの、これだと値が1つだからあんまり有り難みがわかりませんが、これが10個位あると、後者のほうがよかった。と思ったんですけど、手間変わりませんかね…?
自己満…?

いや、さらにもう1ページ遷移したりする場合は、こっちのほうが楽のはずです。
もっといい方法あるかもしれんけど…。

なにわともあれ、試行錯誤しながら方法を模索していくのは楽しいですね。
月末でほんとはそんな余裕ないんですけどね…
そいぎ~。


返信する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA