WordPressテーマSANGOの質問

記事にサブタイトルを入れるプラグイン「WP Subtitle」をカードに反映したい

アバター
ふむふむ

はじめまして。素敵で使いやすいテーマをありがとうございます!
記事にサブタイトルを入れるプラグイン「WP Subtitle」をインストールしたのですが、サブタイトルをショートコードのカードに表示させるには、どのphpデータを修正すれば良いでしょうか?
↓このコードをphpに入れるようなのですが、ショートコードの場合はどうすればいいか分からず…。

修正したいのは下記のショートコードです。
2. カードタイプの関連記事を出力
18. 指定したカテゴリーIDの記事を好きな数だけ出力
よろしくお願いいたします。

SANGOのショートコード一覧
SANGOのショートコード一覧
コメントへの回答
サルワカくん
サルワカくん
2019/07/18

現状の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のショートコードでは使えません。
よろしくお願いします。

アバター
ふむふむ
2020/03/06

「記事にサブタイトルを入れるプラグイン「WP Subtitle」をカードに反映したい」に回答いただきありがとうございます!
catpostのショートコードでは使えないんですね。

いただいた回答をもとに、子テーマのfunctions.phpに[my-card]のショートコード用CSSを追加しました。
表示を確認したところ、サブタイトルが表示がされませんでした。

カードを検証したところ、php the_subtitleは入っているようなのですが、下記のように隠れてしまっているようです。

これはPHPが効いていないということでしょうか…?すみません、SANGOさんかプラグイン側どちらの問題かわからないのですが、ご回答いただけると嬉しいです。

管理画面は「Gutenberg」を使用しています。
よろしくお願いいたします。