2016-11-10 11 views
0

私は現在のページの前後に兄弟ページが存在するかどうかを調べようとしています。私はポートフォリオページの子供であるページ(基本的に各「ギャラリー」アイテムページにある)の「次へ」と「前の」ボタンのためにそれを使用しています。Wordpress:現在のページの前後に兄弟ページがあるかどうかを確認しますか?

このスクリプトでは
<a href="<?php siblings('after'); ?>">after</a> 

または

<a href="<?php siblings('before'); ?>">before</a> 

私が発見し、私のfunctions.phpファイルに入れて:

現在次/前の兄弟ページのリンクを取得するには、このコードを使用して

function siblings($link) { 
    global $post; 
    $siblings = get_pages('child_of='.$post->post_parent.'&parent='.$post->post_parent); 
    foreach ($siblings as $key=>$sibling){ 
     if ($post->ID == $sibling->ID){ 
      $ID = $key; 
     } 
    } 
    $closest = array('before'=>get_permalink($siblings[$ID-1]->ID),'after'=>get_permalink($siblings[$ID+1]->ID)); 

    if ($link == 'before' || $link == 'after') { echo $closest[$link]; } else { return $closest; } 
} 

私にとってはうまくいきますが、最初/最後のpにいるときに次/前のボタンを無効にしたいと思いますこれらの子ページ内の年齢。

おそらく、兄弟が前/後にいるかどうかを確認することは、それについての最善の方法ではありませんか?これを行うにはどうしたらいいですか?

どのような提案や正しい方向のポイントは素晴らしいでしょう。私がこの兄弟のことについて間違っていることがあっても、私に教えてください。私はまだWordPressには新しく、ページ全体/投稿の構造や使い方などを完全には理解していません。私は、各ギャラリーアイテムを自分の「仕事」ページの子供にするのが一番良いと思いましたか?ありがとう!

+0

[カスタム投稿タイプ](http://www.wpbeginner.com/wp-tutorials/how-to-create-custom-post-types-in-wordpress/)のページを作成する代わりに、カスタムポストタイプのポートフォリオを作成し、そこに投稿を追加することができます。 @subver –

+0

ああ、私は一緒に行き、このルートを研究します - ありがとう! – subver

+0

だから私は、ページの代わりにギャラリーアイテムごとに投稿を使うべきですか? – subver

答えて

0

カスタムポストタイプのページを作成する代わりに、名前ポートフォリオを持つカスタムポストタイプを作成し、そこに投稿を追加する必要があります。 各ポートフォリオプロジェクトごとに1つの投稿を追加し、カスタムフィールドを使用して画像を追加する必要があります。

関連する問題