2024.02.15 /

WordPress埋め込みブロックのリンクカードのデザインを変更する方法

WordPress埋め込みブロック

投稿のURLを挿入するとリンクカードが設置されるブロックです。

リンクカードはframeで埋め込まれるので、読み込み元からCSSで制御することはできません。

fuctions.phpで独自CSSを読み込ませる

フィルターフックを使ってリンクカードのHTML内に独自のCSSを読み込ませることができます。

functions.php

add_filter('embed_head', function(){
	wp_enqueue_style(
		'wp-embed-template-custom', //ハンドル名
		get_stylesheet_directory_uri().'/css/wp-embed-template-custom.css', //CSSファイルパス
	);
});

デフォルトのCSSを読み込ませない場合はfunctions.phpに以下も追加します。

remove_action('embed_head', 'print_embed_styles');

CSS

/* とりあえず簡単に枠線とタイトルの文字色を変えてみる */
.wp-embed {
  border: 5px solid #ffce00;
}

.wp-embed-heading a {
  color: #ff9300;
}

結果

外部サイトの埋め込みには適用されないので注意

functions.phpに書いたフィルターフックは自身のWP内の投稿にのみ適用されるので、外部サイトのWP投稿を埋め込んだ際には独自CSSは適用されません。
ですので主に自身のサイト内のCTAや回遊率UPなどの用途に使えるテクニックになります。
逆に外部サイトから自身のWP投稿が埋め込まれた場合は、リンクカードには独自CSSが適用されるのもポイントです。

back to the list