フォーラムへの返信

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック投稿者 yd2

    (@yd2)

    hissyさん、ありがとうございます。
    タクソノミーをカテゴリとして使っています。

    トピック投稿者 yd2

    (@yd2)

    パーマリンクは/%category%/%postname%/に変更しました。

    フォーラム: 使い方全般
    返信が含まれるトピック: single.phpでのページ送りがnotfoundになる
    トピック投稿者 yd2

    (@yd2)

    追記です。
    Top Level Categories Fixプラグインの導入や
    全プラグインを無効にした場合も試してみましたが
    解決できていません。

    トピック投稿者 yd2

    (@yd2)

    kurosquareさんにアドバイスいただいた方法で、
    無事公開できました。ありがとうございました。

    トピック投稿者 yd2

    (@yd2)

    同じページが表示されないよう&paged=’.$pagedを追加しましたが、
    表示順は変わりません。
    <?php query_posts($query_string.'&meta_key=date&orderby=meta_value&order=DECS&posts_per_page=1&paged='.$paged); ?>
    そもそも、single.phpではquery_postsが使えないのでしょうか…。

    トピック投稿者 yd2

    (@yd2)

    まったく的外れかもしれませんが、アーカイブと同様にできないかと思い、query_posts('meta_key=date&orderby=meta_value=posts_per_page=1')
    を試してみました。これですと同じページしか表示されません。
    何とぞご教授いただければと思います。よろしくお願いいたします。

    トピック投稿者 yd2

    (@yd2)

    kzさん、前回に引き続きありがとうございます。
    書いていただいた内容を元に、このようにしたところ
    思い通りの表示を実現することができました。

    $query->set( 'meta_query' , $meta_query );
    		$query->set( 'year'       , ''          );
    		$query->set( 'date'       , ''          );
    		$query->set( 'meta_key'   , 'date'      );
    		$query->set( 'orderby'    , 'meta_value' );
    		$query->set( 'order'      , 'DECS'       );

    日付のカスタムフィールドが、数値ではなく文字列になっている(?)のが、
    ややこしくなってしまった原因なのでしょうか。
    ともあれ、やっと解決できました。

    本当にありがとうございました。

    トピック投稿者 yd2

    (@yd2)

    kurosquareさん、すみません。勘違いをしていました。
    上と同様にする必要があるとのことだったのですね。

    ‘date’でソートしたい場合を調べていたのですが、
    このような書き方は全く違うのでしょうか。

    add_action( 'pre_get_posts', 'my_pre_get_posts' );
    function my_pre_get_posts( $query ) {
    	if ( $query->is_year ) {
    		$meta_query = array(
    			array(
    				'key'     => $query->get( 'meta_key' ),
    				'value'   => $query->get( 'year'     ),
    				'compare' => 'LIKE'
    			),
    			'meta_key'=> 'date',
        	'orderby'=> 'meta_value_num',
        	'order'=> 'ASC'
    		);
    
    		$query->set( 'meta_query' , $meta_query );
    		$query->set( 'year'       , ''          );
    		$query->set( 'date'       , ''          );
    		$query->set( 'meta_key'   , ''          );
    	}
    }
    トピック投稿者 yd2

    (@yd2)

    やはり設定を変えるだけではダメなんですね…。
    スムーズに公開できるか不安ですが、
    教えていただいたURLの内容を参考にして、
    やってみようと思います。

    ありがとうございました。

    トピック投稿者 yd2

    (@yd2)

    kurosquareさん、ありがとうございます。

    $query = "$select FROM $wpdb->posts AS p $join $where GROUP BY SUBSTRING($field,1,4) ORDER BY m.meta_value, p.post_date DESC";

    このように変更したところ、年別のリストの順番は変更されますが
    記事の順番は変わりませんでした。

    トピック投稿者 yd2

    (@yd2)

    できました!

    こういう場面は多そうなのに、検索しても
    あまり事例が出ておらずあきらめかけていました。
    勉強して応用できるようにしたいと思います。
    本当にありがとうございました。

    トピック投稿者 yd2

    (@yd2)

    さっそくありがとうございます!

    試したところソース部分は見えなくなりました。
    ただ、出力されたリンク先に飛ぶと、年に関わらず、
    全ての記事が表示されてしまいます。

    出力されているのは、このようなURLです。
    http://○○○/2011/?meta_key=(仮)カスタムフィールドのキー

    別途、archive.phpへの記載などが必要でしょうか?
    下記のようにソートするタグは入れています。
    <?php query_posts('meta_key=(仮)カスタムフィールドのキー&orderby=meta_value'); ?>

    トピック投稿者 yd2

    (@yd2)

    kzさん

    ありがとうございます!
    まさか記事にしていただけるとは思いもよりませんでした。

    さっそく、教えていただいたソースの’data’を
    ‘カスタムフィールドのキー’に変更してfunctions.phpに貼り付け、
    sidebar.phpには下記の記述を追加しました。

    <?php
    my_get_year_archives( array(
    	'date_field' => 'カスタムフィールドのキー',
    ) );
    ?>

    ところが、ブラウザで確認したところ、
    下記のように一部のソースが表示されてしまいました。
    —————————————————————
    SELECT SUBSTRING(m.meta_value,1,4) AS year, count(p.ID) AS posts FROM wp_2_posts AS p INNER JOIN wp_2_postmeta AS m ON m.post_id = p.ID WHERE p.post_type = ‘post’ AND p.post_status = ‘publish’ AND m.meta_key = ‘カスタムフィールドのキー’ GROUP BY SUBSTRING(m.meta_value,1,4) ORDER BY m.meta_value DESC array(2) { [0]=> object(stdClass)#4227 (2) { [“year”]=> string(4) “2011” [“posts”]=> string(1) “2” } [1]=> object(stdClass)#4226 (2) { [“year”]=> string(4) “2010” [“posts”]=> string(1) “1” } }

    2011年
    2010年
    —————————————————————

    基礎が全くない状態なので、
    初歩的なところで間違えているのかもしれません。
    たびたび申し訳ございませんが、
    誤りがあればご指摘いただければと思います。

    よろしくお願いいたします。

13件の返信を表示中 - 1 - 13件目 (全13件中)