PS auto sitemapが出力されない…
そんなことになったことがなくて調べてみるも、管理画面内のケアレスミス指摘ばっかりで全然違う。
コメントアウトコードが変換されてない。
別のサイトマッププラグインを試してみるも、そもそもショートコードが機能していなく、ショートコードの文字列がそのまま出力されてしまった。
もう出力コードがなんかやってんだろうとphpの中を見てみると
編集画面内の出力が↓となっているコードだった
wpautop($post->post_content);
なにこれ、見たこと無いんですけど。
wpautop($post->post_content);
http://hacknote.jp/archives/4148/
検索してみるとこのコードの意味を知った
$post->post_content;は整形前の生のデータを抜き出してしまう
echo $post->post_content; は wpautop によるフォーマット調整しないで出力する
投稿コンテンツにショートコードが含まれる場合、echo $post->post_content; はショートコードをそのまま出力する。
投稿がパスワード保護されている場合、echo $post->post_content; はコンテンツを出力する。
上記サイトにあったフィルターを使ったコードはいったいどこにどう挿せばいいのかわからなかった。
http://nandani.sakura.ne.jp/web_all/cms/3815/
そしてこのサイトを見つけた
do_shortcode($hoge->post_content);
と記述すればショートコードが動作するらしい!早速変更してみるとショートコードが効いた!
wpautop($post->post_content); → do_shortcode($post->post_content);
しかしながら私の希望するようなサイトマップじゃなくて、やっぱりPS auto sitemapがいい…
PS auto sitemapはコメントアウトの変換だからdo_shortcodeじゃダメだった
そもそも the_content(); が出力されないのは何故なんだと考え検索してみた。
https://www.marineroad.com/staff-blog/11215.html
https://www.google.co.jp/search?q=wpautop(%24post-%3Epost_content)%3B&rlz=1C1FLDB_enJP615JP615&oq=wpautop(%24post-%3Epost_content)%3B&aqs=chrome..69i57.748j0j9&sourceid=chrome&ie=UTF-8#q=wordpress+the_content+%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84
こっちを先に検索してみればよかった!
$post->post_content; とは桁違いのわかりやすい解答があった
the_content(); が正常に出力されているphpを見てみると、「投稿があったとき」という
お決まりのコードがあった。
これだよ!これがないと記事の中身を取得できないってことなんだよ!!
さっそく以下を書いて <?php the_content(); ?>にしてみると…できたー!!
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>