LVP8
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: jQueryを用いたdivでくくったボックスのランダム表示についてフォーラム: 使い方全般
返信が含まれるトピック: jQueryを用いたdivでくくったボックスのランダム表示についてPHPだけでも同じようなことができますよ。ランダムに3つの画像を表示。
<?php // 画像リストを配列に $item = array( '<li><div class="item_box"><h4>titleA</h4><img src="a.jpg" alt="" width="100" height="100" /></div></li>', '<li><div class="item_box"><h4>titleB</h4><img src="b.jpg" alt="" width="100" height="100" /></div></li>', '<li><div class="item_box"><h4>titleC</h4><img src="c.jpg" alt="" width="100" height="100" /></div></li>', '<li><div class="item_box"><h4>titleD</h4><img src="d.jpg" alt="" width="100" height="100" /></div></li>', '<li><div class="item_box"><h4>titleE</h4><img src="e.jpg" alt="" width="100" height="100" /></div></li>', '<li><div class="item_box"><h4>titleF</h4><img src="f.jpg" alt="" width="100" height="100" /></div></li>' ); // 配列の中から3つの要素をランダムに取り出す // 第2引数で取り出す要素数を変更できます $rand_key = array_rand($item, 3); ?> <div class="top_box"> <ul class="itembox" randomdisplay="3"> <?php // 取り出した要素(3つ)を表示 echo $item[$rand_key[0]] . "\n" . $item[$rand_key[1]] . "\n" . $item[$rand_key[2]] . "\n"; ?> </ul> </div>
jQuery を使う必要があるのでしたら、余計なお節介ですので無視してください…。
引用しただけでは li が消えてしまう
code で括ると大丈夫ですよ。
フォーラム: 使い方全般
返信が含まれるトピック: 日時引数を使ったループのあとのループで日時引数を解除したいなんだかすごい表示になってしまいだめでした。
function filter_where($where = '') { if ( !is_home() ) return; $where .= " AND post_date > '" . date('Y-m-d', strtotime('1 days')) . "'"; return $where; }
関数の部分なので、上記のようにされたでしょうか?
query_postsをget_postsに差し替えるだけでよいのでしょうか?
え~、リンク先をご覧になって理解できなかったということでしょうか?
1つ目の条件で「未来の投稿」としてるので
query_posts には、post_status=future という引数もありますが(filter_whereを使わないですむ)、これでは具合が悪かったのですか?
フォーラム: 使い方全般
返信が含まれるトピック: 日時引数を使ったループのあとのループで日時引数を解除したい関数の最初に
function filter_where($where = ”) {
if ( !is_home() ) return;
を加えて、2つ目のループは get_posts() で取得するとどうなりますか?フォーラム: 使い方全般
返信が含まれるトピック: 指定したタグのついた投稿を1つのページに表示するには?フォーラム: 使い方全般
返信が含まれるトピック: 指定したタグのついた投稿を1つのページに表示するには?4行目を
$cur_tag = array_shift(get_the_tags($post->ID));
だめなら
$cur_tag = array_shift(get_the_terms($post->ID, 'post_tag'));
でどうでしょう。
フォーラム: 使い方全般
返信が含まれるトピック: ループ内でのカスタムタクソノミーのスラッグ取得カスタム投稿で試したことはありませんが、タクソノミー動物の term が、各投稿に一つだけの設定であれば…
<?php $term = array_shift(get_the_terms($post->ID, 'doubutsu')); if ( $term ) { echo esc_html($term->slug); } ?> //実行結果 inu とか dog
フォーラム: 使い方全般
返信が含まれるトピック: ループ内でのカスタムタクソノミーのスラッグ取得フォーラム: 使い方全般
返信が含まれるトピック: サイドバーの移動・間隔の変更フォーラム: 使い方全般
返信が含まれるトピック: フィード出力が無効状態に僕もTwenty Tenを使っていますが、問題なくフィードは表示されます。
プラグインを一つずつ外してみる。テーマを変更してみる。などして、まずは原因を探ってみてはいかがでしょう。
5行目を下記に変更したらどうなりますか?
※時間を一桁表示にされているので、うまく拾えないかもですが・・・。
$currentTime = date('Y年m月d g:i A', time()+32400);
フォーラム: 使い方全般
返信が含まれるトピック: フィード出力が無効状態にhttp://ja.forums.wordpress.org/topic/4733?replies=6
同じ悩みの方が過去にいました。ヒントになれば。sql の知識がないので、違う角度からになりますが、query_posts でいけそうな気がします。未検証ですが、こんな感じでどうでしょう。
<div id="main"> <?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $posts_per_page = (get_query_var('posts_per_page')) ? get_query_var('posts_per_page') : get_option('posts_per_page'); $currentTime = date('Y-m-d H:i:s', time()+32400); query_posts(array( 'posts_per_page' => $posts_per_page, 'meta_key' => '_EventStartDate', 'meta_compare' => '<=', 'meta_value' => $currentTime, 'orderby' => 'meta_value_num', 'order' => 'DESC', 'paged' => $paged )); while ( have_posts() ) : the_post(); ?> <?php echo get_post_meta($post->ID, '_EventStartDate', true); ?> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> <?php echo get_the_post_thumbnail($post->ID, 'thumbnail'); ?> <?php endwhile; ?> </div> <?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } wp_reset_query(); ?>
sql関連は分からないので見当違いかもしれませんが、この処理は、meta_key = _EventStartDate に値を持っている投稿を取得し、その値(日付や時間などの数値データ?)によりソート表示する、というものでしょうか?
フォーラム: 使い方全般
返信が含まれるトピック: query_postsでのAND/ORによる複合検索について簡単に解決できそうだったので回答してしまいましたが、思ったより、というより僕の知識では難しかったです。filter_where は初めて聞きました…。
下記のコードで一応実現できると思いますが、配列を統合しているので、新着順に10件表示 という部分の処理がスマートではありません。10件のために20件(10+10)の情報を取得しています。
※簡単なテストはしていますが、lgさんの方で検証してみてください。
$array_a = get_posts('numberposts=10&category=1,2,5'); $array_b = get_posts('numberposts=10&category=3,4&meta_key=hoge'); $array_ab = array_merge_recursive($array_a, $array_b); foreach ( $array_ab as $post ) { $output[$post->post_date] = '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>'; } krsort($output); echo '<ul>'; echo implode("\n", array_slice($output, 0, 10)); echo '</ul>';
知識のある方のフォローを待ったほうがいいと思います。