フォーラムへの返信

14件の返信を表示中 - 1 - 14件目 (全14件中)
  • フォーラム: 使い方全般
    返信が含まれるトピック: パン屑でカテゴリー名が表示されない
    <?php echo get_category_parents($cat,TRUE,’ > ’); ?>

    $catをどうやって取得しているか分からないのですが、市区町村が抜けるのは$catが「中央区」では無く「東京都」のIDになっているからだと思います。

    市区町村が都道府県の子カテゴリーになっていて、投稿時に両方チェックしているんですよね。
    とりあえず都道府県のチェックを外せば希望通りの表示になると思います。

    フォーラム: 使い方全般
    返信が含まれるトピック: 管理画面のメニューについて

    投稿ページにあるカスタムフィールドなどのボックスは、ユーザごとに各ボックスの状態を保存し、次に開いた時に同じ状態で復元しています。
    閉じるボックスにclosedクラスを追加しているだけですので、使用テーマのfunctions.phpに下記のコードを追加すれば、全てのボックスを閉じることができます。

    function close_postboxes() {
    ?>
    <script type="text/javascript">
    jQuery(function() {
      jQuery("div.postbox").addClass("closed");
    });
    </script>
    <?php
    }
    
    add_action('admin_head', 'close_postboxes');

    失礼しました。get_the_author_ID()が使えるのはループ内だけですね。
    シングルページのループ外なら、$post->post_author を参照すればOKだと思います。
    試してませんが、以下のような感じでどうでしょうか。

    $author_id = $post->post_author;
    $categories = get_the_category();
    $cat_id = $categories[0]->term_id;

    header.php 内でも使えるはずです。

    global $author_id, $cat_id;
    echo "author: $author_id, category: $cat_id";

    なるほど、これはurlで各IDを渡さなくても記事データから自動で判別してくれるということでしょうか?

    そういうことです。

    <?php
    $author_id = get_the_author_ID();
    $categories = get_the_category();
    $cat_id = $categories[0]->term_id;
    ?>

    single.phpの先頭で↑を記述し、必要なところで$author_id$cat_id を参照すれば、デザインの切り替えができるのではないでしょうか。

    <?php wp_link_pages('before=&after=&amp;author=' . the_author_id()
    . ' &amp;cat= ' . the_category_id() . '
    &next_or_number=next'); ?>

    IDがページリンクの前に出るのは、the_author_ID()the_category_ID()がその場でechoするためです。いずれにしても、$afterパラメータの内容はの後に追加されるので、URLに追加するためには使えません。

    デザインを分けるためだけなら、get_the_author_ID()get_the_category()で投稿者・カテゴリIDを取得するほうが簡単じゃないかと。

    ちなみに、現在1ページ目での判定はどうやっているんでしょうか?

    フォーラム: 使い方全般
    返信が含まれるトピック: wordpressによるサイト構築で必要なスキル

    解決済みになってますが、ちょっと気になるので補足させてください。

    query_posts=ループのときに使う

    query_postsを使うのは、”メインの”ループを変更して、そのページのコンテンツ自体を変えてしまう時だけです。極端な例では、ある個別ページの内容を別記事に差し替える、みたいなことをやる時です。
    query_postsを使うとループ外の様々な個所でも動作が変わってしまいますので、メインループと別に記事のリストを表示する目的で使うべきではありません。あえていうなら「不正な使い方」で、思わぬところで誤作動を招きます。
    英語版Codexにはしっかり「やるべきでない」と書いてあります。

    記事を取得して自由に表示したい時は、get_postsをお使いください。narumiさんのquery_postsバージョンと同じように表示できます。

    フォーラム: 使い方全般
    返信が含まれるトピック: カテゴリーページへのリンク

    get_category_linkでurlを取得できます。

    <a href="<?php echo get_category_link($cat_ID); ?><img src="hogehoge" /></a>
    フォーラム: 使い方全般
    返信が含まれるトピック: その記事のシングルページに行かない??

    テンプレート内で、サイドバーがメインの記事部分より前にありませんか?
    query_posts はそのページで表示する内容を変更してしまうので、上記の例でいうと「カテゴリ4のページ」を呼び出したときの内容が、メインのLoopに入ってしまいます。

    基本的に query_posts はメインのLoopを変更するためのものなので、それ以外の場所では使用せずに新しく WP_Query オブジェクトを生成するのが無難です。

    <?php $newquery = new WP_Query('cat=4&order=desc');
    if ($newquery->have_posts()): ?>
    <ul>
    <?php while ($newquery->have_posts()) : $newquery->the_post(); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; endif; ?>
    </ul>

    解決されたようなので蛇足になるかもしれませんが、一応情報提供。

    下記ページに(WordPressではないですが)似たような症状の問題と対処法が載っています。
    http://blogs.dion.ne.jp/php/archives/5712129.html
    この方の場合
    php_flag mbstring.encoding_translation off
    でエラーが出なくなったとのこと。

    kagoyaサポセン回答で
    php_flag mbstring.encoding_translation On
    としてますが、調べてみるとkagoya設定ではOnになっているっぽいです(不確かです。違ったらすみません)。

    フォーラム: インストール
    返信が含まれるトピック: ローカル環境へのインストール

    http://127.0.0.8080

    /wordpress

    http://127.0.0.1:8080/wordpress
    または
    http://127.0.0.1/wordpress
    ではありませんか?

    フォーラム: 使い方全般
    返信が含まれるトピック: 子カテゴリの記事を表示させないようにするには

    こんな感じでいけるんじゃないでしょうか。

    <?php
    if (is_category()) {
      $current_cat = get_query_var('cat');
      if ($children = get_categories('child_of='.$current_cat)) {
        $exclude = array();
        foreach ($children as $child)
          $exclude[] = $child->term_id;
          query_posts(array('cat'=>$current_cat, 'category__not_in' => $exclude));
      }
    }
    ?>

    >wp-config.php内にdefined(‘WP_DEBUG’);の1行を追加すると

    すでにお気づきかもしれませんが、思い切りミスりました。正しくは:
    define('WP_DEBUG', true);

    もしインポート以外は全く問題ないのでしたら、ローカルマシンにXAMPPなり入れてMT形式からインポートしてMySQLのダンプ取っちゃうのが早いかもしれませんね。

    wp-config.php内に
    defined('WP_DEBUG');
    の1行を追加すると、画面が真っ白になる代わりに何かメッセージが出ませんか?

    IISのエラーログは、たしかwebサイトのプロパティ内で場所が確認できると思います。そこからファイルを探してみてください。

    フォーラム: 使い方全般
    返信が含まれるトピック: 別ページのカスタムフィールドを表示方法

    説明下手なので細かいことは省きますが、上記コードの途中で$mykeysや$postをprint_rしてみると、意図した値が入っていないことが分かるかと。

    とりあえず別ページのカスタムフィールドを表示するだけなら、get_post_custom()にページID(51)を渡してカスタムフィールドの内容を得ればOKだと思います。

    <dl>
    <?php $mycustomfields = get_post_custom(51);
    foreach($mycustomfields as $mykey => $myvalue){
    echo "<dt>";
    echo $mykey;
    echo "</dt><dd>";
    echo $myvalue[0];
    echo "</dd>";
    }
    ?>
    </dl>
14件の返信を表示中 - 1 - 14件目 (全14件中)