wp_postmetaテーブルの「_oembed_ {{unknown}}」というデータは削除してもよいのか?


wp_postmetaテーブルに上記のようなデータが大量にできていて、これなんだろう?という話と削除しても問題ないのか?という話です。

・「oEmbed」機能で自動で作成されるデータ
・おそらく、キャッシュなので削除しても再作成される
・{{unknown}}というデータができるのは、バグっぽい気がする

記事にYoutube,TwitterのURLがあると自動で作成されるようです。埋め込み機能を使っていなくてもこのデータは作成されるようでその時に「{{unknown}}」というデータを生成するようです。

で、削除してみたところ問題なく記事も表示されたのですが、やはりその時点で再生成されてしまいます。ゴミみたいなデータが残るということになります。

oEmbed機能を無効化する方法

// ====================================
// auto-embeds  を無効化
// http://wpengineer.com/2487/disable-oembed-wordpress/
// =========================================================
// Disable auto-embeds for WordPress >= v3.5
   remove_filter( 'the_content', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 );

functions.phpに上記を追加してください

参考:How to disable auto-embeds (oEmbed) in WordPress 3.5 - WP Engineer

oEmbed機能を使用していないので、この機能自体を停止させればレコードは生成されないのではないか?ということで停止させてみたら、該当レコードは生成されなくなりました。

検索で調べた結果

Clearing oEmbed Cache - SiteOrigin
#17210 (Massive duplication of oEmbed postmeta) – WordPress Trac

上記あたりから、oEmbed機能とそのレコードがキャッシュデータだというのがわかるかと思う。

So there's an old plugin called:
Better YouTube Embeds
and the first thing it does is to clear the oembed cache from Post_Meta. :-)
alan
WordPress › Support » Is it safe to delete _oembed_* from the post_meta table


What is the meta_key "_oembed_longkeynumber" used for? The value is {{unknown}}. Can I delete those entries in the database?
WordPress › Support » meta_key " _oembed_"


WordPress › Support » _oembed_ meta_value {{unknown}}

上記あたりで、このようなレコードが生成される可能性と、それがyoutube関係にあたるものだというのがわかるかとは思う。

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。