現状のSANGOでは(意図的に)ショートコードを上書きできないようにしているため、新しいショートコードを追加する必要があります。
以下のCSSを子テーマのfunctions.phpに追加すると、[my-card]
というショートコードが使えるようになります(使い方は[card]
と同じです)。
下記のコードには、the_subtitle()
を入れてありますが、位置はお好みで調整してください。
add_shortcode('my-card', 'my_sng_card_link');
function my_sng_card_link($atts)
{
$output = '';
$ids = isset($atts['id']) ? explode(',', $atts['id']) : null;
if(!$ids) return "";
$target = isset($atts['target']) ? ' target="_blank"' : "";
$is_date = isset($atts['is_date']) && $atts['is_date'];
foreach ($ids as $eachid) {
list($url, $title, $img, $date) = sng_get_entry_link_data($eachid, 'thumb-520', $is_date);
if ($url && $title) {
$output .= <<<EOF
<a class="c_linkto" href="{$url}"{$target}>
<span>{$img}</span>
<span class="c_linkto_text">{$date}{$title}</span>
<span class="my-card-subtitle"><?php the_subtitle(); ?></span>
</a>
EOF;
} // endif
} // end foreach
return $output;
}
サブタイトル部分のスタイルは以下のようなCSSで調整するのが良いと思います。
.my-card-subtitle {
display: block;
margin-top: 10px;
font-size: 0.9em;
color: silver;
}
注意点として、catpostのショートコードでは使えません。
よろしくお願いします。
「記事にサブタイトルを入れるプラグイン「WP Subtitle」をカードに反映したい」に回答いただきありがとうございます!
catpostのショートコードでは使えないんですね。
いただいた回答をもとに、子テーマのfunctions.phpに[my-card]のショートコード用CSSを追加しました。
表示を確認したところ、サブタイトルが表示がされませんでした。
カードを検証したところ、php the_subtitleは入っているようなのですが、下記のように隠れてしまっているようです。
これはPHPが効いていないということでしょうか…?すみません、SANGOさんかプラグイン側どちらの問題かわからないのですが、ご回答いただけると嬉しいです。
管理画面は「Gutenberg」を使用しています。
よろしくお願いいたします。
WordPressテーマSANGOの質問
記事にサブタイトルを入れるプラグイン「WP Subtitle」をカードに反映したい
はじめまして。素敵で使いやすいテーマをありがとうございます!
記事にサブタイトルを入れるプラグイン「WP Subtitle」をインストールしたのですが、サブタイトルをショートコードのカードに表示させるには、どのphpデータを修正すれば良いでしょうか?
↓このコードをphpに入れるようなのですが、ショートコードの場合はどうすればいいか分からず…。
修正したいのは下記のショートコードです。
2. カードタイプの関連記事を出力
18. 指定したカテゴリーIDの記事を好きな数だけ出力
よろしくお願いいたします。