フォーラムへの返信

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • フォーラム: テーマ
    返信が含まれるトピック: ウィジェットでechoが出力されません。。
    トピック投稿者 nonoo

    (@wamg)

    ご返信ありがとうございます。

    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

    (@wamg)

    ご返信ありがとうございます。

    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が出力されません。。
    トピック投稿者 nonoo

    (@wamg)

    連投すいません。
    サンプルのコードを挙げてしまいましたが、
    実際、出力の方では

    <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が出力されません。。
    トピック投稿者 nonoo

    (@wamg)

    <?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が出力されません。。
    トピック投稿者 nonoo

    (@wamg)

    最後の部分、リンクになってしまいましたが、
    パーママリンク、aタグの部分は出力されておりますが、
    タイトル部分は全く何も出力されていない状態です。

    フォーラム: その他
    返信が含まれるトピック: トピック削除依頼
    nonoo

    (@wamg)

    トピックへの横入りすいません。

    私が投稿した、トピックに関して、
    URLが記載されているのですが、そのアカウント所持者から
    忠告をうけ、削除、もしくは記事の変更をしたいのですが可能でしょうか?

    困っています。
    宜しくお願いします。

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