フォーラムへの返信

9件の返信を表示中 - 1 - 9件目 (全9件中)
  • トピック投稿者 mametasu

    (@mametasu)

    ありがとうございます!
    下記のように記述し、タームでも同じ事ができました。

    <?php
    // 最上位のタームのみ取得
    $terms = get_terms( 'news_category', 'hide_empty=0&parent=0' );
    foreach( $terms as $term ) :
    ?>
         <li>
              <?php
              echo esc_html( $term->name );
              $term_id = esc_html( $term->term_id );
              ?>
              <ul>
              <?php wp_list_categories( array('title_li'=>'', 'show_count'=>'1', 'child_of'=>$term_id, 'taxonomy'=>'news_category') ); ?>
              </ul>
         </li>
    <?php
    endforeach;
    ?>
    トピック投稿者 mametasu

    (@mametasu)

    表示枚数も問題なく表示されるようになりました。

    本当にありがとうございます。
    大変助かりました!

    トピック投稿者 mametasu

    (@mametasu)

    どうもありがとうございます。
    カスタム投稿タイプの全記事取得、画像のランダム表示、ともにできました。

    しかし、表示枚数の制御がうまく動作していない、、?
    「表示させる画像の枚数」を「1」にしていても、
    リロードするたびに違う枚数の画像が表示されてしまいます。

    念のため、コードを書いておきますので、おかしな点がありましたら教えていただきたいです。
    よろしくお願いいたします

    <?php
    	$CImages["post_type"] = "photo"; // カスタム投稿タイプ名
    	$CImages["meta_name"] = array( 'photo_main_image_01' ); // カスタムフィールドの画像フィールド名
    
    	// 全カスタム投稿タイプを取得
    	$CImages["all_posts"] = get_posts( array( "numberposts" => -1 , "post_type" => $CImages["post_type"] ) );
    
    	// 画像IDを全て取得
    	$CutomImages = array();
    	foreach( $CImages["all_posts"] as $custom_post ) {
    		foreach( $CImages["meta_name"] as $meta_name ) {
    			$tmp_img = get_post_meta( $custom_post->ID , $meta_name , true );
    			if( !empty( $tmp_img ) ) {
    				$CImages["all_img_ids"][] = $tmp_img;
    			}
    		}
    	}
    
    	$CImages["sheets"] = rand( 1 , count( $CImages["all_img_ids"] ) ); // 表示させる画像の枚数
    	$CImages["randoms"] = $CImages["all_img_ids"]; // 取得した画像IDの順番をシャッフル
    	shuffle( $CImages["randoms"] );
    
    	// 表示させる画像IDを決定
    	for( $i=0; $i<$CImages["sheets"]; $i++ ) {
    		$CImages["get_img_ids"][] = $CImages["randoms"][$i];
    	}
    	?>
    
    	<?php foreach( $CImages["get_img_ids"] as $img_id ) : ?>
    		<?php $attachment_post = get_post($img_id); ?>
    		<li><a href="<?php echo get_permalink( $attachment_post->post_parent ); ?>"><?php echo wp_get_attachment_image( $img_id, 'list-s-thumbnails' ); ?></a></li>
    	<?php endforeach; ?>
    トピック投稿者 mametasu

    (@mametasu)

    ご丁寧にありがとうございます。
    カスタム投稿タイプと、カスタムフィールドを変えて
    コードを記述してみたのですが、何故かうまくいきませんでした。。

    【実行結果】
    ・指定とは関係のない1記事のみが取得される
    ・「表示させる画像の枚数」を変更するとその数だけ表示されるが、上記記事が複製される
    ・wp_get_attachment_imageで画像が表示されない

    カスタム投稿タイプと、カスタムフィールド以外にも何か変えなければいけないのでしょうか?
    すみませんが、教えていただけると助かります。

    トピック投稿者 mametasu

    (@mametasu)

    すみません、書き方が悪かったですね。。
    せっかくコードを教えていただいたのにすみません。

    特定のカスタム投稿の添付画像を複数枚ランダム表示させたい

    「特定のカスタム投稿」=「特定のポストタイプの全記事」
    という意味でした。

    実現したいことは下記のような感じです。
    ・特定のポストタイプ内の記事にあるすべての添付画像から、複数枚をランダム表示
    ・画像には添付されている記事へのリンクをつける

    すみませんが、何か良い方法があれば教えていただきたいです。
    どうぞよろしくお願いします。

    フォーラム: 使い方全般
    返信が含まれるトピック: 子タームごとの新着記事一覧表示
    トピック投稿者 mametasu

    (@mametasu)

    どうもありがとうございました!
    勉強になりました。

    フォーラム: 使い方全般
    返信が含まれるトピック: 子タームごとの新着記事一覧表示
    トピック投稿者 mametasu

    (@mametasu)

    手順を教えてくださりどうもありがとうございます。

    下記のように記述してみました。表示としては問題なさそうですが…
    おかしな部分がありましたら教えていただきたいです。
    よろしくお願いします。

    <?php
    	$terms = get_terms( 'photo_category' ,'parent=XX' );
    	foreach ( $terms as $term ) {
    		echo esc_html( $term->name );
    
    		$wp_query = new WP_Query();
    		$param = array(
    			'post_type' => 'photo',
    			'taxonomy' => 'photo_category',
    			'term' => $term->slug
    		);
    		$wp_query->query($param);
    		if ( $wp_query->have_posts() ): while( $wp_query->have_posts() ) : $wp_query->the_post(); ?>
    
    			<li><?php the_title(); ?></li>
    
    		<?php
    		endwhile; endif;
    		wp_reset_query();
    
    	} ?>
    トピック投稿者 mametasu

    (@mametasu)

    functions.phpに追記で、問題なく動作しました!
    どうもありがとうございます。

    トピック投稿者 mametasu

    (@mametasu)

    function.php に記述するんですね。
    コードを追加したら、問題なく表示されました。
    色々アレンジできそうなので試してみます。

    どうもありがとうございます、大変助かりました!

9件の返信を表示中 - 1 - 9件目 (全9件中)