nonoo
フォーラムへの返信
-
フォーラム: テーマ
返信が含まれるトピック: ウィジェットでechoが出力されません。。ご返信ありがとうございます。
get_the_title使えば早いかもしれませんね。
アドバイスを頂いたとおり
<?php echo wp_trim_words( get_the_title(), 20 ); ?>
を使うことで無事、解決出来ました!
本当にありがとうございました。もしどなたかの参考になれば幸いなので、
最終的なコードを表示させておきます。query_posts( array( 'cat' => -1, 'post_type' => array('post','test'), 'posts_per_page' => 5 )); ?> <ul> <?php if (have_posts()) : while(have_posts()) : the_post(); $cat = get_the_category(); $cat = $cat[0]; $mypost = get_post($post->ID); $cat_description = $cat->category_description; ?> <li><span class="test-<?php echo $cat->category_nicename; ?><?php echo esc_html(get_post_type_object(get_post_type())->name); ?>"><span class="test"><?php echo $cat_description; ?><?php echo esc_html(get_post_type_object(get_post_type())->description ); ?> </span></span> <a href="<?php the_permalink() ?>"><?php echo wp_trim_words( get_the_title(), 20 ); ?></a></li> <?php endwhile; endif; wp_reset_query(); ?> </ul>また、gatespaceさんからもご返信頂いた内容を勉強させて頂き、
色々と調べてみると”Shortcode Exec PHP”や”PHP Code Widget”などのphpが使えるような
プラグインは危険とのことでしたので、
サイドバーはショートコードを使用し運用することにしました。
ご指摘頂き、ありがとうございました。ちなみに上記のphpコードをショートコードに変換することが、
自分の技術不足でうまくいかなかったので、(苦笑)
“Post Snippets”というプラグインを使用し、運用しています。ご返信頂き、サポートして頂いた皆様、本当にありがとうございました!
フォーラム: テーマ
返信が含まれるトピック: ウィジェットでechoが出力されません。。ご返信ありがとうございます。
nonooさんのやりたいことと違うかもしれませんが、例えば Posts in Sidebar プラグインが使えるかもしれないですね。
プラグインを一度導入してみましたが、
やはり、自分の希望とは少し違い
使用を断念をしました。イマイチ、クエリでの指定の仕方、
単純に基本的なphpコードの流れが理解しきれておらず、
繰り返しの質問になって申し訳ないのですが、
いま現在のやり方(query_posts)だとサイドバーでのタイトル表示は難しいのでしょうか?色々とググって、こんなかんじでコードを組んでみましたが、
こちらも同様にタイトルのみ出力はされません、、、。<?php $arg = array( 'cat' => -1, 'post_type' => array('post','test'), 'posts_per_page' => 5 ); ?> <ul> <?php $my_posts = get_posts( $args ); foreach ( $my_posts as $post ) : setup_postdata( $post ); $cat = get_the_category(); $cat = $cat[0]; $mypost = get_post($post->ID); $cat_description = $cat->category_description; $post_title = $post->post_title; if(mb_strlen($post_title)>30) { $post_title = mb_substr($post_title,0,30).'...';}; ?> <li> <span class="test-<?php echo $cat->category_nicename; ?><?php echo esc_html(get_post_type_object(get_post_type())->name); ?>"> <span class="test2"><?php echo $cat_description; ?><?php echo esc_html(get_post_type_object(get_post_type())->description ); ?> </span></span> <a href="<?php the_permalink() ?>"><?php echo( $post_title ); ?></a></li> <?php endforeach; ?><?php wp_reset_postdata(); ?> </ul>私が、実際に動作させたいコードは
■サイドバーに新着記事一覧を表示
■通常投稿の中から特定のカテゴリの記事(上のコードでは全ての通常投稿を出力したあと、特定カテゴリのみ削除しています)と、カスタム投稿の中から特定のカテゴリの記事のみ出力
■記事一覧のタイトル横に各カテゴリの説明文を表示
■各説明文にカテゴリごとでのクラス名をつける
■長いタイトルは省略する。
です。どなたご教授頂けると幸いです。
宜しくお願いします。フォーラム: テーマ
返信が含まれるトピック: ウィジェットでechoが出力されません。。連投すいません。
サンプルのコードを挙げてしまいましたが、
実際、出力の方では<li class="sample_list"><span class="sample-<?php echo $cat->category_nicename; ?><?php echo esc_html(get_post_type_object(get_post_type())->name); ?>"><?php echo $cat_description; ?><?php echo esc_html(get_post_type_object(get_post_type())->description ); ?></span> <a href="<?php the_permalink() ?>"><?php echo( $post_title ); ?></a></li> <?php endwhile; endif; wp_reset_query(); ?> </ul>となってます。
コードは素人でグチャグチャかもしれませんが、
カスタム投稿と、通常投稿の2つを同時に読み込んだ後、
両方共の説明文を出力し、タイトルの前に出力をしています。ややこしくてすいません。。
フォーラム: テーマ
返信が含まれるトピック: ウィジェットでechoが出力されません。。<?php query_posts( array( 'cat' => -3, 'post_type' => array('post1','post2'), 'posts_per_page' => 5 )); ?> <ul> <?php if (have_posts()) : while(have_posts()) : the_post(); $cat = get_the_category(); $cat = $cat[0]; $mypost = get_post($post->ID); $cat_description = $cat->category_description; $post_title = $post->post_title; if(mb_strlen($post_title)>30) { $post_title = mb_substr($post_title,0,30).'...';}; ?> <li> <a href="<?php the_permalink() ?>"><?php echo( $post_title ); ?></a> </li> <?php endwhile; endif; wp_reset_query(); ?> </ul>>ウィジェットの中で $post->post_title を使う前に、$post にどんな値をセットしていらっしゃいますか?
恥ずかしながら、知識がなく、、
$postに関しての記述はなさそうです…今、サンプルページ(ウィジェット外)で作動しているのはこのようなコードになっております。
アドバイス宜しくお願いします。フォーラム: テーマ
返信が含まれるトピック: ウィジェットでechoが出力されません。。最後の部分、リンクになってしまいましたが、
パーママリンク、aタグの部分は出力されておりますが、
タイトル部分は全く何も出力されていない状態です。