WordPressには、URLを貼り付けるだけで自動でコンテンツに変換してくれる機能があります。
TwitterもInstagramも、わざわざHTMLコードを貼り付けなくても、ただURLをコピーしてWordPressの記事執筆画面で貼り付けるだけで埋め込まれる(実際の表示になる)んです。ご存知でしたか?
これは俗に「埋め込み(embed)機能」と呼ばれ、記事執筆を格段に便利にしてくれるんですが、1つ問題があるとすれば「削除が気軽にできない」ことでしょうか。
以下、この埋め込み機能の削除方法や仕組みについて詳しくお話しします。
※ブログカードについての話ですが、他の埋め込みコンテンツにも同じことが言えます。
ブログカードの仕組み
この埋め込み機能は、URLからコンテンツ(ブログカードやツイートなど)のキャッシュを生成する仕組みになっているため、削除の対象は「キャッシュ」です。
ですので、表面上は「リセット」されることになります。
元の何かが消えて大変なことになる…みたいな事態にはならないので、ご安心ください。
ブログカードの削除方法
では、ブログカードを削除する方法がいくつかあるので、おすすめ順にご紹介します。
【方法1】削除の時だけ4536のテーマを適用する
僕が開発しているWordPressテーマ「4536」には埋め込みコンテンツをクリック1つで削除する機能があるので、削除の時だけ4536にテーマを変更して、削除後に元に戻すのが1番簡単です。
削除用のプラグインを一時的にインストールしてその後削除するみたいな感じでしょうか。
- 4536設定→データベースの画面へ
- 「すべての埋め込みコンテンツ」にチェックを入れたまま「キャッシュを削除する」のボタンをクリック
以上でキャッシュが削除されます。
もちろん、気に入っていただけたらそのまま使ってもらえると嬉しいです。
【方法2】functinos.phpにコードをコピペする
「コードを使いたいんじゃ〜!」という方は以下のコードをfunctions.phpにコピペして保存すればOKです。
add_action( 'init', function() {
global $wpdb;
$all_cache_4536 = $wpdb->prepare("
DELETE FROM $wpdb->postmeta
WHERE meta_key LIKE %s
", '_oembed_%'
);
$wpdb->query($all_cache_4536);
});
ブログカードを始め、すべての埋め込みコンテンツのキャッシュが削除されます。
※キャッシュ削除後はこのコードも削除してください。
【方法3】データベースから直接削除
データベースにアクセスして直接削除することもできます。
- postmetaのテーブル(例:wp_postmeta)を選択
- 検索画面を表示
- meta_keyの検索キーワードに「oembed」を指定してLIKE検索(LIKE %…%)
- ヒットしたら「delete」をクリック
ただ、この方法は、先ほどの方法2と同じことを人力でやっているだけなので、わざわざこの方法で削除する必要はありません。
(この方法で削除してた昔が懐かしい…笑)
以上、ブログカードの削除方法あれこれでした。
ブログカードに興味があれば4536もぜひ。