忍者ブログ
10 June

the_content(); が出力されない

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(); ?>

















PR
23 October

Auto Post Thumbnail 動画youtube対応 

http://www.dream-seed.com/weblog/archives/2013/03/25965/
ありがたい!!
動画対応は本当は有料版の仕様

方法は簡単。auto-post-thumbnail.phpの中から以下の記述の部分を見つけます。

// Get all images from post's body
    preg_match_all('/<\s*img [^\>]*src\s*=\s*[\""\']?([^\""\'>]*)/i', $post[0]->post_content, $matches);

中央よりやや後ろ、apt_publish_postというFunctionの中にあります。見つけたら、その後ろに以下の記述を追加するだけです。

if (empty($matches[0])) {
        preg_match('%(?:youtube\.com/(?:user/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $post[0]->post_content, $match);
        if (!empty($match[1])) {
            $matches=array(); $matches[0]=$matches[1]=array('http://i3.ytimg.com/vi/'.$match[1].'/hqdefault.jpg');
        }
    }
09 October

WP YoastSEOプラグインのサブメニューが消えた ver3.6

http://munyagu.com/850/

なんかデフォルトでメニューが非表示になってるらしい
「SEO」のダッシュボード内「Future」のなかのsettinigを「使う」にする

もーービビッターーーー
他人が作ったWPサイトで初めて気づいたもんだから、前に作成した人が何か消してるのかと思って
色々コード探したけどみつからなかった

英語読む気がなかったからまったく見てなかったけど、読んでたら解決できてたな!
全部有料のproにしないとだめですぅ~~とかじゃなくてよかった

08 October

条件分岐 is_home が反映されない

http://imasashi.net/if_is_home_query.html

↑めちゃわかりやすい図つき解説

トップページで記事一覧等のループを使うと、そこはarchives.phpと認識される。
なのでループが終わったら、ループ処理をリセットしないとhome.phpに戻らない。


http://kawatama.net/web/wordpress/1907

引用

条件分岐のifの前に下記タグを記述します。

<?php wp_reset_query(); ?>

もしくは

<?php wp_reset_query(); if(is_home()): ?>
  //トップページに表示させるコンテンツ
<?php else: ?>
  //トップページに以外に表示させるコンテンツ
<?php endif; ?>
08 October

wp 投稿記事編集画面で id が消える

http://arop.jp/news/6

function pnd_allow_all_attr ($init) {
    $ext_elements = '';
 
    $target_elements = array(
        'p','a', 'b', 'base', 'big', 'blockquote', 'body', 'br', 'caption', 'dd', 'div', 'dl',
        'dt', 'em', 'embed', 'font', 'form', 'h', 'head',  'hr', 'html', 'i', 'img', 'input',
        'li', 'link', 'meta', 'nobr', 'noembed', 'object', 'ol', 'option', 'p', 'pre', 's',
        'script', 'select', 'small',  'span', 'strike', 'strong', 'sub', 'sup', 'table',
        'tbody', 'td', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'tt', 'u', 'ul',
        'iframe'
    );
    $target_attr = array(
        '*'
    );
 
    foreach ($target_elements as $target_element) {
        $ext_elements .= ",".$target_element."[".implode('|',$target_attr)."]";
    }
 
    if ( !empty($ext_elements) ) {
        if ( !empty($init['extended_valid_elements']) )
            $init['extended_valid_elements'] .= $ext_elements;
        else
            $init['extended_valid_elements'] = trim($ext_elements, ',');
    }
 
    return $init;
}
add_filter( 'tiny_mce_before_init', 'pnd_allow_all_attr', 100 );
add_filter(’the_content’, ‘wpautop’);
add_filter(’the_excerpt’, ‘wpautop’);



↑ありがてぇ

ページ内スクロールするためにidつけたらなぜか飛ばない
おかしいと思ったら、いつもの自動整形でidが削除されてた

はぁ?ありえないんですけど。なんでid消されるわけ?
空span消すのはまだ許すわ。だけどid消すって意味わかんなくね?
あーいらいらするくそwp