福岡 ワードプレス システム開発 株式会社ジーティーアイ のブログ

賢威8 から 賢威ユーザー先行限定配布中の SYN に乗り換えました!

賢威8 から 賢威ユーザー先行限定配布中の SYN に乗り換えました!

このブログのテーマが変わったのにお気づきでしょうか!

賢威ユーザー限定で配布中の SYN(SYNオウンド) に切り替えました!

目次[閉じる]

賢威ユーザー限定!新ブランド「SYN」提供開始のお知らせ がありました

ウェブライダーの「賢威サポートチーム」より、
賢威ユーザーだけが先行利用できる新テーマ「SYN(シン)」がリリースされました。
※まだ試用目的のベータ版です。

2025年10月29日(水)から、
オウンドメディア向けWordPressテーマ「SYNオウンド」が 賢威ユーザー限定で無料配布中です。

このテーマは、2026年3月に一般販売予定の正式版に先駆けて提供されており、
いち早くSYNブランドの世界観を体験できます。

導入前には、マニュアルサイトで動作環境などの確認が推奨されています。

かっこよくなった!

普通にかっこよくなったw

※個人の感想ですが。

まず、ぱっと見でかっこよくなりました!

賢威8 から乗り換えるためにやったこと

賢威8 から乗り換えるために違いを抑えておきます。

  • ショートコードが違う
  • 閲覧数が違う
  • LPページがない(賢威8でもオプションでしたが)
  • 当たり前ですが、スタイルシートが違う

今回は1番にある 「ショートコードが違う」 というのをなんとかしたのでその方法を書きたいと思います。

ショートコードが違う

ショートコードに相違がありますので、そのままテーマを切り替えただけでは例えばリンクカードが

[keni-linkcard url="https://gti.co.jp"]

という感じにそのままテキスト表示されてしまったりします。

共通コンテンツもそうですね。

[cc id="123"]

それをどうにかしたい。

ただ、ショートコードにもいろいろあって、内部的にデータを使うものとそうでないものがありますのでできるだけ旧データを使わない方向で変えようと思います。

※追ってはずしていかないといけない前提で考えてください。

functions.php にコードを追加します!※必ずSYNの子テーマを導入してください。本体改造厳禁!

SYNと同様に配布されている 子テーマ SYNオウンドの子テーマ もダウンロードしテーマとして利用します。

※SYNオウンドがインストールされている前提で子テーマもインストールしてください。

ここからファイルにある functions.php に下記コードを記述します。

子テーマの functions.php にはすでに21行ほど記述があるはずですのでそのあとにコピペで結構です。

それでエラーが出なければ [keni-linkcard ~]と[cc ~] ショートコードが使えるはずです。

リンクカードは・・・

リンクカードは「新たにできているショートコード blogcard に置き換えたい。」という方針で改造を行います。

// 旧ショートコード [keni-linkcard] を [blogcard] に置き換えて処理
add_shortcode('keni-linkcard', function ($atts = [], $content = null) {
	if (shortcode_exists('blogcard')) {
		return do_shortcode('[blogcard ' . shortcode_atts_to_string($atts) . ']' . $content . '[/blogcard]');
	}
	return ''; // blogcard が存在しない場合は空文字
});

// 連想配列 → ショートコード引数文字列変換用
function shortcode_atts_to_string($atts)
{
	$pairs = [];
	foreach ($atts as $key => $value) {
		$pairs[] = sprintf('%s="%s"', esc_attr($key), esc_attr($value));
	}
	return implode(' ', $pairs);
}

旧 keni-linkcard で使用できた 属性で使えないものもありますが、文字列がそのまま表示されることはないはずです。

共通コンテンツは・・

SYNでも「共通コンテンツ」がありますが、旧賢威の「共通コンテンツ」は別物なので表示されません。

なのでこのコードで古いほうを表示するだけ表示します。

//-----------------------------------------------------
// 共通コンテンツ
//-----------------------------------------------------
function get_keni_common_contents($atts, $comm_post_id)
{
	$id = null;
	extract(shortcode_atts(array(
		'id' => $comm_post_id,
	), $atts));
	$content = get_post($id, "ARRAY_A");

	if (isset($content['post_content']) && $content['post_status'] == "publish") {
		$content_body = apply_filters('keni_cc_content', keni_richtext_formats($content['post_content']), $content['post_content']);
		return do_shortcode($content_body);
	} else {
		return "";
	}
}
add_shortcode('cc', 'get_keni_common_contents');

if (!function_exists('keni_richtext_formats')) {
	// 賢威リッチテキストフォーマット
	function keni_richtext_formats($content)
	{
		$content = preg_replace('/<br\s*\/?>/i', "\n", $content); // brタグを改行に変換
		$content = wpautop($content); // 段落自動挿入
		$content = preg_replace('/\n+/', "\n", $content); // 連続する改行を1つに
		return $content;
	}
}

賢威のメソッドをそのまま持ってきていますが、足りないので追加しただけ・・・となります。

古い共通コンテンツを編集することはできません。

そうしたいな・・・と思ったら、新しい共通コンテンツに入れ替え時だと思います。

ショートコードを使えるようにするコードまとめ

まとめとして functions.php に追記する全体のコードを書いておきます。

// 旧ショートコード [keni-linkcard] を [blogcard] に置き換えて処理
add_shortcode('keni-linkcard', function ($atts = [], $content = null) {
	if (shortcode_exists('blogcard')) {
		return do_shortcode('[blogcard ' . shortcode_atts_to_string($atts) . ']' . $content . '[/blogcard]');
	}
	return ''; // blogcard が存在しない場合は空文字
});

// 連想配列 → ショートコード引数文字列変換用
function shortcode_atts_to_string($atts)
{
	$pairs = [];
	foreach ($atts as $key => $value) {
		$pairs[] = sprintf('%s="%s"', esc_attr($key), esc_attr($value));
	}
	return implode(' ', $pairs);
}

//-----------------------------------------------------
// 共通コンテンツ
//-----------------------------------------------------
function get_keni_common_contents($atts, $comm_post_id)
{
	$id = null;
	extract(shortcode_atts(array(
		'id' => $comm_post_id,
	), $atts));
	$content = get_post($id, "ARRAY_A");

	if (isset($content['post_content']) && $content['post_status'] == "publish") {
		$content_body = apply_filters('keni_cc_content', keni_richtext_formats($content['post_content']), $content['post_content']);
		return do_shortcode($content_body);
	} else {
		return "";
	}
}
add_shortcode('cc', 'get_keni_common_contents');

if (!function_exists('keni_richtext_formats')) {
	// 賢威リッチテキストフォーマット
	function keni_richtext_formats($content)
	{
		$content = preg_replace('/<br\s*\/?>/i', "\n", $content); // brタグを改行に変換
		$content = wpautop($content); // 段落自動挿入
		$content = preg_replace('/\n+/', "\n", $content); // 連続する改行を1つに
		return $content;
	}
}

どうなるかテスト

[keni-linkcard url="https://gti.co.jp" target="_blank"]

とりあえず表示されてますよね!!

あと使っているひとが多そうな cc 共通コンテンツ(SYNにもあるけど、賢威8で登録したもの)

[cc id=74889]

賢威 のカスタマイズについて、ご依頼はこちら

株式会社ジーティーアイ お問い合わせ

プラグイン開発 も行っています。

WordPressカスタマイズ、API連携 ~ システム開発、保守 お気軽にご相談ください。

これしか登録してなかったので、すみませんw

とりあえず、この2つだけにはなりますが、かなり助かると思います。(助かるはず!?)

注意!!!

自己責任でお願いいたします。

ここに書いてあったことが「できない!」ということになってもフォーラムで聞かないようにしてください。

ほかにもなにかあればコメントいただいたら追加しようかなと思います。

この記事をシェアする

記事一覧へ戻る

コメント Comments

コメント一覧

コメントはありません。

コメントする

Throws SPAM Away を使っていますよ、もちろん。

トラックバックURL

https://blog.gti.jp/post-75068/trackback/

関連記事 Relation Entry

IP あなたが接続中のIPアドレス:216.73.216.31