フォーラムへの返信

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック投稿者 y.mrsm

    (@ymrsm)

    ishitaka様、ご回答ありがとうございます。

    早速ご紹介いただきましたプラグインのうち、「Regenerate Thumbnails」を入れて再生成してみましたところ、100×100のサイズで表示できました。

    「add_image_size」が既存画像のサムネイル生成をしてくれないことについて見落としておりました・・・。

    ご教授ありがとうございました。

    トピック投稿者 y.mrsm

    (@ymrsm)

    早速ムダなところを見つけてしまいましたが、解決済みにいたしました^^;

    トピック投稿者 y.mrsm

    (@ymrsm)

    だいぶ時間がたってしまいましたが、jim912様にご助言いただいた方法と、フォーラムの情報などをもとに何とか希望するとおりの出力ができるようになりました。

    <?php
    	global $post;
    	$catargs = array('taxonomy' => 'workshop-cat');
    	$catlists = get_categories($catargs);
    	$post__not_in_ids = array();
    	$args = array(
    		'post_type' => 'workshop',
    		'posts_per_page' => 1
    	);
    	$new_posts = get_posts($args);
    	foreach($new_posts as $post):
    		setup_postdata($post);
    		$post__not_in_ids[] = get_the_ID();
    		$cat_a_args = array(
    			'post_type' => 'workshop',
    			'posts_per_page' => -1,
    			'post__not_in' => $post__not_in_ids
    		);
    		$cat_a_posts = get_posts($cat_a_args);
    
    			$catargs = array('taxonomy' => 'workshop-cat');
    			$catlists = get_categories($catargs);
    			foreach(array_reverse($catlists) as $cat):
    			    $args = array(
    			        'post_type' => workshop,
    			        'workshop-cat' => $cat->slug,
    				'post__not_in' => $post__not_in_ids
    			    );
    			    $posts = get_posts($args);
    			    if (empty($posts)) {
    			        continue;
    			    }
    			    ?>
    			    <section>
    			        <h2><span><?php echo $cat->name; ?></span></h2>
    			        <div>
    			            <ul>
    			    <?php
    			                foreach ($posts as $post) :
    			                    setup_postdata($post);
    			    ?>
    			                    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
    			                <?php endforeach; ?>
    			            </ul>
    			        </div>
    			    </section>
    <?php
    			endforeach;
    
    	endforeach;
    	wp_reset_postdata();
    ?>

    コードは継ぎはぎに近いため、ムダなところが多いかもしれません・・・。

    まずは上記コードで動くようになりましたので、ヒントをご提示いただいたjim912様に感謝いたします。

    ありがとうございました。

    トピック投稿者 y.mrsm

    (@ymrsm)

    jim912様、ご助言ありがとうございます。
    結論から申しますと、まだまだ模索中でございます。
    今現在以下のようなコードに修正していますが、もちろん動きません^^;

    <?php
    	global $post;
    	$catargs = array('taxonomy' => 'workshop-cat');
    	$catlists = get_categories($catargs);
    	$firstID = get_the_ID();
    	$args = array(
    		'post_type' => 'workshop',
    		'post__not_in' => array($firstID)
    	);
    	$posts = get_posts($args);
    	foreach(array_reverse($catlists) as $cat):
    		$wsargs = array(
    			'post_type' => $posts,
    			'workshop-cat' => $cat->slug,
    		);
    		$wsposts = get_posts($wsargs);
    		if (empty($wsposts)):
    			continue;
    		endif;
    ?>
        <section>
            <h2><span><?php echo $cat->name; ?></span></h2>
            <div>
                <ul>
    <?php
    	foreach($wsposts as $post):
    		setup_postdata($post);
    ?>
                        <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
                    <?php endforeach; ?>
                </ul>
            </div>
        </section>
    <?php endforeach; ?>

    フォーラムや検索でもっと調べてみたいと思います。

    トピック投稿者 y.mrsm

    (@ymrsm)

    yousan様
    早速お教えいただきましたコードを試しましたところ、考えていた通りの結果を得られました。
    ここ1週間ほど悩んでおりましたので、とても勉強になりました。
    ありがとうございました。

    トピック投稿者 y.mrsm

    (@ymrsm)

    nobita様、ご回答ありがとうございます。
    変数化やstr_replaceでの置き換えを試してみようとしてみましたが、うまくいきませんでした。
    ただ、お教えいただいたechoをfalseにした後の処理の段階で、wp_nav_menu()の外側に<nav>等を配置したら思っていた表示になりました。
    パラメータをいろいろ触ってみることも大事だということがよくわかりました^^;

    取り急ぎ目的に表示になりましたので、解決済みとさせていただきます。

    ご教授ありがとうございました。

    トピック投稿者 y.mrsm

    (@ymrsm)

    早速上記のコードを実装いたしましたところ、思い通りの結果が得られました!
    当初、get_categoriesを使ってみたりしたのですが、使い方を間違っていたので全然違うものになったりしておりました・・・。

    pluto1234様、誠にありがとうございました。

    こちらは解決済みとさせていただきたいと思います。

    トピック投稿者 y.mrsm

    (@ymrsm)

    popup様、早速のご回答誠にありがとうございました。
    お教えいただいたコードをそのまま使用したところ、表示がうまくいかなかったので、初心者的考えで以下のように書き換えてみたところ、思ったように動きました。

    $categories = get_the_category();
    foreach($categories as $category){
    	if(cat_is_ancestor_of(4, $category)){
    		$arr1[] = $category->cat_name;
    		$arr2[] = $category->category_nicename;
    	};
    };
    array_multisort($arr2, SORT_ASC, $arr1);
    $categories = implode(" / ",$arr1);
    print_r($categories);

    array_multisortについてご教授いただき誠にありがとうございました。

    取り急ぎ解決済みとさせていただきます。

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