developer
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: カスタムフィールドの配列から取得した値をランダムに表示したいランダムに表示したいという点について自己解決しました。
「複数キーがある場合にも対応」はタイトルとはまた別の問題なので別のトピックを立てようと思います。<?php $limit = 5; $post_id = 10; $custom_field_key = 'my_key'; $posts = get_post_custom($post_id); $posts_array = $posts[$custom_field_key]; if ($posts_array) : $n = 0; shuffle($posts_array); echo "\n<ul>\n"; foreach ($posts_array as $value) { if ($n == $limit) break; echo "<li>$value</li>\n"; $n++; } echo "</ul>\n"; endif; ?>
フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリーに属する記事に同名のカテゴリー別リンクを表示したい手直しまでして頂いて感激です!
まだなんとなく程度にしか分からないので、マニュアルとコードを見比べながらそれぞれ理解していこうと思います。
重ねてのお礼になりますが、ありがとうございました!
フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリーに属する記事に同名のカテゴリー別リンクを表示したいわーい!できました!
PHPへの理解もほんの少しかもしれませんが深める事ができました!
最後までお付き合い頂いて本当にありがとうございました!ちなみに最終的なコードはこうなりました。
<?php $limit = 10; $all_links = array(); $categories = get_the_category(); $cat_num = count($categories); $cat_limit = round($limit/$cat_num); foreach($categories as $category) : $links = get_bookmarks('orderby=rand&limit='.$cat_limit.'&category_name='.$category->cat_name); $all_links = array_merge($all_links,$links); endforeach; if ($all_links) : $n = 0; echo "<ul>\n"; foreach ($all_links as $link) : if ($n == $limit) break; ?> <li><a href="<?php echo esc_url($link->link_url); ?>" target="<?php echo esc_attr($link->link_target); ?>"><?php echo esc_html($link->link_name); ?></a><?php if ($link->link_description) echo "<br />$link->link_description"; ?></li> <?php $n++; endforeach; echo '</ul>'; endif; ?>
フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリーに属する記事に同名のカテゴリー別リンクを表示したい提示して頂いたコードを試みた結果、当初思い描いていた通りの結果を得る事が出来ました。
ちなみに、ひとつのポストで表示させる予定のリンク数は12です。
説明下手といいますか、言葉足らずな部分を上手に形にして頂いて本当に感謝しています。そして、ここで欲を出す様で申し訳ないのですが、よろしければもう一つだけお付き合い頂けないでしょうか。
内容としてはほぼ同じなのですが、リンクをカテゴリーの数に応じて均等に出したいというものです。
提示して頂いたコードから表示のランダム化をshuffleで行うのを止めてget_bookmarksにorderby=randを加え、更に “$limit = 数値;” の部分で指定している数値をカテゴリーの数で割って四捨五入し、その値をget_bookmarksの “limit=値” に代入するという様な事は出来ますでしょうか?出力される結果のイメージとしては、表示上限を10としていた場合に以下の様になります。
記事に属するカテゴリーが1つの場合
カテゴリーAからランダムに取り出されたリンク2 カテゴリーAからランダムに取り出されたリンク6 カテゴリーAからランダムに取り出されたリンク9 カテゴリーAからランダムに取り出されたリンク11 カテゴリーAからランダムに取り出されたリンク3 カテゴリーAからランダムに取り出されたリンク1 カテゴリーAからランダムに取り出されたリンク23 カテゴリーAからランダムに取り出されたリンク7 カテゴリーAからランダムに取り出されたリンク14 カテゴリーAからランダムに取り出されたリンク8
記事に属するカテゴリーが2つの場合
カテゴリーAからランダムに取り出されたリンク2 カテゴリーAからランダムに取り出されたリンク6 カテゴリーAからランダムに取り出されたリンク9 カテゴリーAからランダムに取り出されたリンク11 カテゴリーAからランダムに取り出されたリンク3 カテゴリーBからランダムに取り出されたリンクIII カテゴリーBからランダムに取り出されたリンクIV カテゴリーBからランダムに取り出されたリンクXI カテゴリーBからランダムに取り出されたリンクI カテゴリーBからランダムに取り出されたリンクXV
記事に属するカテゴリーが3つの場合
カテゴリーAからランダムに取り出されたリンク2 カテゴリーAからランダムに取り出されたリンク6 カテゴリーAからランダムに取り出されたリンク9 カテゴリーBからランダムに取り出されたリンクIII カテゴリーBからランダムに取り出されたリンクIV カテゴリーBからランダムに取り出されたリンクXI カテゴリーCからランダムに取り出されたリンクβ カテゴリーCからランダムに取り出されたリンクΩ カテゴリーCからランダムに取り出されたリンクν
尚、カテゴリーの数によってはリンクの合計数が若干前後する事については無視して頂いて構わないです。
説明下手で申し訳ないのですが、どうかよろしくお願い致します。フォーラム: 使い方全般
返信が含まれるトピック: 複数のカテゴリーに属する記事に同名のカテゴリー別リンクを表示したいご回答ありがとうございます。
提示して頂いたコードを試みてみましたが、get_bookmarksのパラメータ「limit」で、例えば10件まで表示とした時に、カテゴリーAとカテゴリーBのリンクをそれぞれ10件ずつの合計20件が表示されるいう結果になりました。
これを、記事が属するカテゴリーがいくつであっても「limit」で指定した件数分だけが表示され、尚且つのリンクもカテゴリーが複合した形で表示される様にしたいのですが、何か良い方法はありませんでしょうか。
カテゴリーが複合したリストなので、例えばorderby=randとした時は以下の様な表示になるのが理想です。投稿記事 カテゴリー : カテゴリーA,カテゴリーB 本文 リンク1 リンク3 リンク2 リンク4
フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカテゴリーを複数取得訂正
<?php $cats = get_the_category(); $i = 0; foreach ($cats as $cat) { $i++; if ( count($cats) !== $i) { wp_list_bookmarks('category_name='.$cat->cat_name . ","); } else { wp_list_bookmarks('category_name='.$cat->cat_name); } } ?>
フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカテゴリーを複数取得自分なりに勉強して当初思い描いていたコード自体は実現出来ました
<?php $cats = get_the_category(); $i = 0; foreach ($cats as $cat) { $i++; if ( count($cats) !== $i) { echo $cat -> cat_name . ", "; } else { wp_list_bookmarks('category_name='.$cat->cat_name); } } ?>
しかし、wp_list_bookmarksのパラメータであるcategory_nameをcategoryと同様にカンマ区切りで複数指定出来ると勘違いしていた為、結果としてこのコードは無意味なものとなってしまいました。
よって、このトピックは解決とし、新しいトピックを作成します。フォーラム: 使い方全般
返信が含まれるトピック: 記事が属するカテゴリーを複数取得自分なりに調べた結果、以下の方法に辿り着きましたが、これだと最初の一つだけしか指定する事が出来ませんでした。
<?php $category=get_the_category($cat); wp_list_bookmarks('category_name='.$category[0]->cat_name); ?>
また、ここから更に調べていくとこちらのトピックに辿り着きいたのですが、phpの知識が乏しくどうしたら良いか分かりません。
<?php $cats = get_the_category(); foreach($cats as $cat) { wp_list_bookmarks('category_name='.$cat->cat_name . ','; } ); ?>
これで合っているかどうか全く自信が無いので、どなたか正解となる回答を頂けないでしょうか。
フォーラム: 使い方全般
返信が含まれるトピック: タグをグループ分けして、そのグループ毎にクラスを付加したいjim912さん
タグで出来れば良いと思っていたのですが、カスタム分類を用いる事にします。
そこで質問があります。
一覧を出す場合には以下の様にwp_list_categoriesを使えば良いのですが、the_categoryやthe_tagsの様にその記事に属するものだけを表示させ、尚且つそれらにgroup-a、group-b、group-cの様な分類に従った個別のクラスを付加するにはどうすれば良いでしょうか。<ul class="tags"> <li class="group-a"> <ul> <?php wp_list_categories(array('title_li' => '', 'taxonomy' => 'group-a' )); ?> </ul> </li> <li class="group-b"> <ul> <?php wp_list_categories(array('title_li' => '', 'taxonomy' => 'group-b' )); ?> </ul> </li> <li class="group-c"> <ul> <?php wp_list_categories(array('title_li' => '', 'taxonomy' => 'group-c' )); ?> </ul> </li> </ul>
フォーラム: 使い方全般
返信が含まれるトピック: functions.phpでmoreリンク先の空要素に任意のテンプレートを挿入したいフォーラム: 使い方全般
返信が含まれるトピック: functions.phpでmoreリンク先の空要素に任意のテンプレートを挿入したいtaikikenさん
分かり辛くてすみませんその[my_template]の箇所に、別途作成したexample.phpといったテンプレート(htmlやjavascriptなど含んだもの)を挿入して表示させたいという事です
そのままincludeで挿入しようとしたら、その記述が単純に文字(includeを含めた)として出力されてしまったりするので困っていますまた、get_extendedでほぼ同様の事が出来るのは分かったのですが、ループが挿入されないので(また挿入の仕方が良く分からないため)出来れば使いたくありません
自分の知識不足故に多分に勘違いしているところや適切に伝わっていないところがあると思いますが、ご助力頂ければ幸いですフォーラム: 使い方全般
返信が含まれるトピック: the_contentで出力されるソースの変更kzさんから提示頂いた内容で理想通りの結果を得られました
また、空のspanについては特に気にしない事にしました
この度の助力に感謝致します
ありがとうございましたフォーラム: 使い方全般
返信が含まれるトピック: the_contentで出力されるソースの変更すみません
そちらのURLは既に参考にしていたのですが、思う結果が得られずにこの度質問をさせて頂きましたフォーラム: テーマ
返信が含まれるトピック: 記事を決められた数毎にタグ(div等)で囲みたい