• 解決済 an83022

    (@an83022)


    昨日こちらにて質問をさせて頂いたものです。
    現在、この投稿ページにショートコードを追加して、テーブルの表示を行おうと考えています。
    しかし、ショートコードが反映されず、テキストとして出力されてしまっています。(現状画像
    以下該当箇所のコードになります。

    if ( get_post_meta($post->ID, 'shortjump', true) == 'はい' ) {
          $news_content = wp_strip_all_tags(strip_shortcodes($post->post_content));
          $news .= wp_strip_all_tags( get_extended( $post->post_content )['main'] )."...";
    	$news .= "<br><a href=".get_the_permalink($post->ID).">続きはこちら</a>";
    		} else {
    			$news .= get_extended( $post->post_content )['main'];
    		}

    do_shortcodeを使っても変化がありませんでした。
    このような場合、プラグインを用いないとショートコードを反映させることはできないのでしょうか?
    可能であれば、プラグインを用いずにテーブルの表示を行いたいと考えています。
    作業に行き詰ってしまっているため、ご教示頂けますと幸いです。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • こんにちは

    こんな感じではどうでしょうか。

    $text = get_extended( $post->post_content )['main'];
    
    // ショートコード タグを削除する。
    //$text = strip_shortcodes( $text );
    
    // the_content フィルターのフック(ショートコードなど)を実行する。
    $text = apply_filters( 'the_content', $text );
    $text = str_replace( ']]>', ']]&gt', $text );
    
    // HTML タグを削除する。
    $text = wp_strip_all_tags( $text );
    
    $news = $text . '...';
    トピック投稿者 an83022

    (@an83022)

    ご回答ありがとうございます。
    ご教示頂いたコードを加筆したところ、テーブル内のデータの取得には成功しましたが、レイアウトの設定?が反映されておらず、文章としてテーブル内データが表示されました。
    これは他の箇所に原因があるのでしょうか?

    HTML タグを削除しているからではないでしょうか?
    下記行を削除してみてください。

    // HTML タグを削除する。
    $text = wp_strip_all_tags( $text );
    トピック投稿者 an83022

    (@an83022)

    返信が遅れてしまい申し訳ございません。
    該当コードを削除したところ、無事に表示させることができました!
    ご教示頂きありがとうございました!

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

トピック「ショートコードが文字のまま出力されてしまう」には新たに返信することはできません。