web-dev-qa-db-ja.com

URLをクリックして、投稿のIDをページテンプレートに渡す方法を教えてください。

私はポストギャラリーを持っていて、example.com/galleryにサムネイルを表示しています。これで、このサムネイルは投稿によって作成され、サムネイルのeofをクリックするとsingle.phpテンプレートに移動します。 HTML5とCSS3で作成されたGallery Exhibitを模したギャラリールームを表示します。ロードするのはとても重いし、標準のWebギャラリーには実際には感じないので、ユーザーが天気をクリックしてGallery RoomまたはネイティブのWordPress Galleryにある標準のグリッドで表示するオプションが必要です。

今度は私のexample.com/galleryで、2つのリンクを持ちたいです。 1つはギャラリールームにあり、もう1つは標準グリッドにあります。しかし、どうすればこれができますか?標準ギャラリー用のテンプレートを既に作成しましたが、example.com/galleryページの最初のリンクをクリックしたときに投稿のIDを動的に取得する方法を教えてください。

テンプレートにこれがあります。

$post_id = 527;
$queried_post = get_post($post_id);

527が投稿IDです。しかしもちろんこれは動的ではありません。リンクをクリックしてそのIDをURLに渡し、$ post_idの値となる変数に格納します。

誰も手伝ってくれる?

ありがとうございます。

1
mark lape

投稿からページへのリンクをクリックするときに、GET変数としてpost_idをリンクの最後に連結することができます。

それでは、WordPressループ内にpost_idをGET変数として簡単に追加できるリンクがあるとしましょう。

<?php if (have_posts()): while(have_posts()): the_post(): ?>
        <a href="http://example.com/gallery?my_gallery_id=<?php echo $post->ID; ?>">Gallery</a>
<?php endwhile; endif; ?>

だからURLだけであなたは持っているでしょう:

http://example.com/gallery?my_gallery_id=<?php echo $post->ID; ?>
1
JenkinsDev