• 解決済 okroll

    (@okroll)


    現在wordpressでサイトを構築中です。

    ページャー部分についてカスタムフィールドを使って順序を指定したいため
    Next/Previous Post Link Plus for WordPress こちらのプラグインを使っている所です。

    配布先にあったソースを見ながら試しているのですが
    投稿日付順で表示されてしまい、意図した表示になりません。

    $args = array(
    ‘order_by’ => ‘meta_key’, // 1番目のソートフィールド
    ‘order_2nd’ => ‘post_title’, // 2番目のソートフィールド
    ‘meta_key’ => ‘番号’, // カスタムフィールドのとき meta_key
    ‘post_type’ => ”, // デフォルトは、表示中の post_type
    ‘loop’ => false, // サイクリックにリンクを張る
    ‘end_post’ => false,
    ‘thumb’ => false, // サムネール画像を表示する
    ‘max_length’ => 0,
    ‘format’ => ‘%link «’,
    ‘link’ => ‘%title’,
    ‘date_format’ => ”,
    ‘tooltip’ => ‘%title’,
    ‘in_same_cat’ => true, // 同じカテゴリー:true/false
    ‘in_same_tax’ => false, // 同じターム:true/false、タクソノミー名
    ‘in_same_format’ => false, // 同じ投稿フォーマット
    ‘in_same_author’ => false, // 同じ投稿者
    ‘in_same_meta’ => false, // 同じカスタムフィールド
    ‘ex_cats’ => ”, // 対象外にするカテゴリー
    ‘ex_cats_method’ => ‘weak’, // string, diff, week
    ‘in_cats’ => ”,
    ‘ex_posts’ => ”,
    ‘in_posts’ => ”,
    ‘before’ => ”,
    ‘after’ => ”,
    ‘num_results’ => 1,
    ‘return’ => ”
    );

    <?php previous_post_link_plus(array(‘order_by’ => ‘meta_key’,’format’ => ‘<%link’, ‘in_same_tax’ => true)); ?>
    <?php next_post_link_plus(array(‘order_by’ => ‘meta_key’,’format’ => ‘%link>’, ‘in_same_tax’ => true)); ?>

    カスタムフィールドが日本語だから…という訳ではないと思うのですが、
    どなたかご教授いただければ幸いです。
    初投稿の為、見づらい部分があったら申し訳ないです。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • モデレーター jim912

    (@jim912)

    なんの表示順ですか?

    トピック投稿者 okroll

    (@okroll)

    小説の表示です。
    同一カテゴリ内でのページ移動を考えています。

    カスタムフィールドに[番号]という名前を持ち、表示させたい順に番号をいれています。

    先程要らない物を取っ払ってシンプルなものにしたのですが
    やはり日付順(古いものから)に表示されてしまいました。

    <?php
    $prev = array(
    ‘order_by’ => ‘numeric’, // 1番目のソートフィールド
    ‘meta_key’ => ‘番号’, // カスタムフィールドのとき meta_key
    ‘post_type’ => ”, // デフォルトは、表示中の post_type
    ‘max_length’ => 0,
    ‘format’ => ‘« %link ‘,
    ‘link’ => ‘%title’,
    ‘in_same_cat’ => true, // 同じカテゴリー:true/false
    ‘num_results’ => 1,
    ‘return’ => ”
    );
    ?>

    モデレーター jim912

    (@jim912)

    <?php previous_post_link_plus( $prev ); ?>

    になってますか?

    トピック投稿者 okroll

    (@okroll)

    はい、おっしゃるようになっています。
    すみません、省略して書いては分かりづらいですよね。
    現在はこのようなコードにしていますが、進捗はゼロです。

    <?php
    $prev = array(
    ‘order_by’    => ‘numeric’, // 1番目のソートフィールド
    ‘meta_key’ => ‘番号’, // カスタムフィールドのとき meta_key
    ‘max_length’ => 0,
    ‘format’ => ‘« %link   ||   ‘,
    ‘link’ => ‘%title’,
    ‘in_same_cat’ => true, // 同じカテゴリー:true/false
    ‘num_results’ => 1,
    ‘return’ => ”
    );
    $next = array(
      ’order_by’    => ‘numeric’, // 1番目のソートフィールド
    ‘meta_key’ => ‘番号’, // カスタムフィールドのとき meta_key
    ‘post_type’ => ”, // デフォルトは、表示中の post_type
    ‘max_length’ => 0,
    ‘format’ => ‘ %link »’,
    ‘link’ => ‘%title’,
    ‘in_same_cat’ => true, // 同じカテゴリー:true/false
    ‘num_results’ => 1,
    ‘return’ => ”
    );
    ?>

    <?php previous_post_link_plus($prev); ?>
    <?php next_post_link_plus($next); ?>

    トピック投稿者 okroll

    (@okroll)

    自分のかかっている事象について少し考えてみました。
    とっかかりについてどこが重要かいまいち分かっていないので
    見当外れかもしれませんが、明日再度見直しも兼ねてメモを…。

    single.phpにて同じカテゴリ内でページ送りしたいがために
    Next/Previous Post Link Plus for WordPress プラグインを導入したのが始まりです。

    カテゴリA
     ・ああああああ
     ・いいいいいい
     ・うううううう
    カテゴリB
     ・かかかかかか
     ・きききききき
     ・くくくくくく

    といった感じで小説があります。
    「ああああああ」の小説を選んだ場合、次頁に「いいいいいい」が表示され
    「いいいいいい」を選んだ場合、前頁に「ああああああ」が次頁に「うううううう」が
    表示されるのが理想なのです。

    そしてこれらはカスタムフィールド名【番号】を設け、固定ページについては表示順を実現できています。
    しかし記事ページについてはプラグインのコードを使っても投稿日付でオーダーされているよう、そもそも自分記事が迷子になっているのかもしれないと思ってきました。

    過去記事を検索したら、同じような事象で質問を上げている方がいましたが、未解決のままで有力情報はなく。。。
    どなたさまか良い案がございましたら、ご教授いただければ幸いです。

    モデレーター Takuro Hishikawa

    (@hissy)

    もしカスタムフィールド「番号」が連番なのであれば、プラグインを使わなくても、表示している記事の前後の値をカスタムフィールドに持つ投稿を取得すればいいような気がするのですが…。

    また、はっきりと連番になっていなくても、カスタムフィールドで比較して、現在のページの値より小さい投稿を取得してそのページヘのリンクを出力すれば良いのではないかと思います

    モデレーター gatespace

    (@gatespace)

    もっと簡単にやろうとすれば、投稿でも並び替えを可能にするプラグインがいくつかあるので、
    そういうのを使った方が簡単かも知れませんね。

    http://hijiriworld.com/web/wp-intuitive-custom-post-order/

    トピック投稿者 okroll

    (@okroll)

    hissyさん、gatespaceさん ご返信ありがとうございます。

    最初はプラグインを使わない方向で、何とかできないものか試行錯誤していたのですが
    私の力量不足により中々挙動の実現に至らず、上記プラグインに逃げた結果でした。
    しかしもう一度やってみようかと思います。

    それでも出来ない場合はgatespaceさんに提示いただいたプラグインを使ってみようかと思います。

    一週間ほどまともにwordpressを使えなくなってしまうので、戻って来てからの試行にはなりますが、解決できましたらご報告させていただきます。
    回答くださった方々には本当に感謝しております。ありがとうございます。

    トピック投稿者 okroll

    (@okroll)

    すみません。先程解決いたしました。
    色々とカスタムフィールドについてのフォーラムを読んでいて
    もしかしてのミスでした…。
    文字コードを間違えてshif_jisにしていました。
    utf-8にて上書き保存を行ったところ、当初のプラグインで
    希望の挙動を確認することが出来ました。
    本当に申し訳ありませんでした。

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック「カスタムフィールドを使ったページャーの表示順」には新たに返信することはできません。