ooshirotakashi
フォーラムへの返信
-
フォーラム: プラグイン
返信が含まれるトピック: Buddypress Portfolioの並び順をランダムにしたいghvstさん、同じように$query_argsに’orderby’ => ‘rand’を付け足したらできました!
ですがこの状態でポートフォリオのアップロードをするとdescriptionにリンクが張られるという通常は発生しない現象が現れるようになりました。。
‘orderby’=>’rand’を削除して再度アップロードをするとdescriptionのリンクはなくなるのでこれが原因かと思われます。
ghvstさんにご教示頂いたpublic function getの部分を読み解きながら試行錯誤した結果、思い通りの挙動を実現できましたので解決とさせていただきます^^
コードは以下の様にしました。
プラグインファイルを触っていないのでアップデートしても引き継がれるかと思います。<?php $args = array( 'posts_per_page' => 6, 'post_type' => 'portfolio', 'orderby' => 'rand' ); $wp_query = new WP_Query($args); ?> <?php if ($wp_query->have_posts()):while($wp_query->have_posts()):$wp_query->the_post(); ?> <?php $pic = wp_get_attachment_image_src($post->post_parent);?> <img src='<?php echo $pic[0] ?>'> <?php the_title();?> <?php echo apply_filters('the_content', $post->post_content); ?> <?php echo bp_core_get_user_displayname(bp_portfolio_get_user_id()) ?> <?php endwhile; endif;wp_reset_postdata(); ?>
ghvstさん、とても勉強になりました。ありがとうございました^^
フォーラム: プラグイン
返信が含まれるトピック: Buddypress Portfolioの並び順をランダムにしたいghvstさん、ご返信ありがとうございます。
orderbyは試してみたのですがうまくいきませんでした。以下の関数の$default = array(~省略~)の中身が指定できるパラメータだと理解していますがorderbyはありません。(←この理解が正しいのかは分かりません泣)
function bp_portfolio_has_items( $args = array() ) {
//途中省略
$default = array(
‘id’ => 0,
‘author_id’ => $user_id,
‘title’ => null,
‘description’ => null,
‘url’ => null,
‘created_at’ => date( ‘Y-m-d H:i:s’ ),
‘updated_at’ => date( ‘Y-m-d H:i:s’ ),
‘tags’ => array(),
‘posts_per_page’ => 10,
‘page’ => 1,
‘search_terms’ => null
);
//以下省略idを取得してシャッフルしてパラメータに挿入すればできそうですが、今の私には技術的にそれをできるレベルにないためどなたか教えて頂けると助かります(泣)