web制作備忘録(自分用)

php,javascript,wordpress等のサンプルコードとか

2017年03月

Wordpressの自動成型の機能を解除すると、自動でPタグが入るのを防げるので便利なのだが、 改行タグを入れないと改行されなくなるため、クライアントが入力する際には不便です。 autopの機能は解除しつつ、改行を反映させるにはどうしたらいいか?

①autopを解除。
②出力される文字列にnl2br()をかます。

この手順でやってみました。

①autopを解除
function.phpに下記を追加
remove_filter('the_content', 'wpautop');// 記事の自動整形を解除・無効にする
remove_filter('the_excerpt', 'wpautop');// 抜粋の自動整形を解除・無効にする

②出力される文字列にnl2br()をかます。
本文の出力を下記のようにすればいい。
echo nl2br(get_the_content());

しかし、

これだとHTMLでごにょごにょしたい時に改行全部反映されるので、不便。。。

なんで下記のようにしてみた。
if(post_custom('noautotext')){
	echo nl2br(get_the_content());
}else{
	the_content();
}

カスタムフィールドで、noautotextとか適当にチェックボックスをいれて、 自動で改行したい時と、HTMLで書きたいときを振り分けることにしました。

今更FacebookのOGP設定でつまづいてしまった。。。

いつも通りOGP設定のタグを書いてアップし、確認のためスマホからシェアしてみたところ、 Facebook用の画像が表示されない。

いろいろ試した結果、URLにファイル名(index.html)が入っているときは画像が表示される。。。 スラッシュで終わるURLだとエラーになるのか?? ほかのページも確認すると同じようにOGPの設定しているけど、 URLはどちらでも画像が表示されるのに。。。

色々調べながら試行錯誤しているうちに、Facebookデバッガ―というツールを発見!

URLを調べるとやはりスラッシュで終わっているURLだけエラーになっている!!

けどどうしたらいいんだか分らなかったので、とりあえず「もう一度スクレイピング」というボタンを押してみた。

シェアデバッガー   開発者向けFacebook

治った!!!!

なんかわからんが、OGPの情報は一度スクレイピングされるとキャッシュされて、次からは情報が使われるようだ。OGPの更新を行ったときにはFacebookデバッガ―でスクレイピングし直せってことやね。

↑このページのトップヘ