サポート » 使い方全般 » query_varsの中身がカラになっている

  • 解決済 sususu

    (@sususu)


    ある入門書を参考にテーマ制作を勉強中です。
    その中に載っていたパンくずリストを作ってみようと思ったんですが、日付アーカイブのページはすべて「0年>0月>0日」となってしまいます。

    その本では日付を出力するために、
    get_query_var(‘year’)
    get_query_var(‘montnum’)
    get_query_var(‘day’)
    を使いますが、それらの値が0になっていることがわかりました。
    その本のサンプルテーマを使っても同様の結果です。

    これは私の環境に何か異常があるのでしょうか?
    MAMP2.1.1
    Apache 2.2.22
    PHP 5.4.4
    MySQL 5.5.25
    WordPress 3.8.1

    print_r($wp_query);
    の結果が以下のようになります。
    ———————————————————————
    WP_Query Object
    (
    [query] => Array
    (
    )

    [query_vars] => Array
    (
    [error] =>
    [m] =>
    [p] => 0
    [post_parent] =>
    [subpost] =>
    [subpost_id] =>
    [attachment] =>
    [attachment_id] => 0
    [name] =>
    [static] =>
    [pagename] =>
    [page_id] => 0
    [second] =>
    [minute] =>
    [hour] =>
    [day] => 0
    [monthnum] => 0
    [year] => 0
    [w] => 0
    [category_name] =>
    [tag] =>
    [cat] =>
    [tag_id] =>
    [author] =>
    [author_name] =>
    [feed] =>
    [tb] =>
    [paged] => 0
    [comments_popup] =>
    [meta_key] =>
    [meta_value] =>
    [preview] =>
    [s] =>
    [sentence] =>
    [fields] =>
    [menu_order] =>
    [category__in] => Array
    (
    )

    [category__not_in] => Array
    (
    )

    [category__and] => Array
    (
    )


    …以下略

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 過去にフォーラムで似たようなケースがありましたが、こちらは試してみましたか?
    [解決済み] get_query_var(‘year’)が0年と返る (3 件の投稿)

    トピック投稿者 sususu

    (@sususu)

    ご回答ありがとうございます。
    パーマリンクはデフォルトになっていました。ですが他のすべて試してもだめでした。

    紹介していただいた記事の先にある
    [解決済み] 月別日別ページのタイトルの文字化け (16 件の投稿)
    で話題になっている、query_posts(), get_posts()等は使用していません。

    <title>
    <?php echo get_query_var('year').'年'.get_query_var('monthnum').
    '月'.get_query_var('day').'日'; ?>;
    </title>

    も「0年0月0日」でした。

    <title><?php
    if(is_date()){
    $title = get_the_time('Y').'年';
    if(is_day() || is_month()) $title .= get_the_time('m').'月';
    if(is_day()) $title .= get_the_time('d').'日';
    echo $title;
    }else{
     wp_title();
    }
    ?></title>

    は何も起こりませんでした。

    twentyten, twentyfourteenでパーマリンクもすべて試しましたがダメでした。

    何も起こらない、という事でしたらアーカイブが適用されているかどうか、でしょうか。
    以下のコードを埋めた結果はどうなるでしょうか?

    <?php global $template; print_r($template); ?>

    また該当のページのURLはどうなっていますか?

    http://www.example.com/?year=2014
    のような形式で教えてもらえますか?

    トピック投稿者 sususu

    (@sususu)

    大変申し訳ありません。

    たて続けに色々試していましたが、今見たらちゃんと表示されていました。
    さかのぼってみると、パーマリンクが原因だったようです…。

    urlは、http://localhost/wordpress/archives/date/2014/01/31

    <?php global $template; print_r($template); ?>
    /Applications/MAMP/htdocs/wordpress/wp-content/themes/テーマ名/index.php
    です。

    貴重な時間を裂いていただいて本当にすみません。

    追記:
    トップページの<?php print_r($wp_query); ?>内のquery_varsを見て「0のままだ」と思ってしまったみたいです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「query_varsの中身がカラになっている」には新たに返信することはできません。