$year = date_i18n('Y');
$month = date_i18n('m');
wp_redirect("https://snowman-j.com/{$year}{$month}tvall/", 301);
exit;
}
});
//TOP 雑誌まとめ飛ばすリンク
add_action('template_redirect', function() {
if (is_page('zassi')) {
$year = date_i18n('Y');
$month = date_i18n('m');
wp_redirect("https://snowman-j.com/{$year}{$month}zassi/", 301);
exit;
}
});
//ツイッターへの投稿簡易
function show_tweet_template_for_tv_post( $post ) {
if ( get_post_type( $post ) !== 'tv' ) return;
// カスタムフィールド取得
$date_raw = get_post_meta( $post->ID, 'event_day', true );
$time = get_post_meta( $post->ID, 'event_time', true );
$show_name = get_post_meta( $post->ID, 'bangumi', true );
$station = get_post_meta( $post->ID, 'housoukyoku', true );
// 出演者の複数チェックボックスをフラット化して取得
$raw_talents = get_post_meta( $post->ID, 'hito', false );
$talents = is_array($raw_talents) ? array_merge(...$raw_talents) : [];
if ( !$date_raw || !$show_name || empty($talents) ) {
echo '
必要な情報(放送日、番組名、出演者)が入力されていません。
';
return;
}
// 絵文字マップ
$color_emoji_map = [
'kin' => '⛄',
'kiiro' => '💛',
'murasaki' => '💜',
'muji' => '🩶',
'ao' => '💙',
'orange' => '🧡',
'midori' => '💚',
'kuro' => '🖤',
'aka' => '❤️',
'pink' => '🩷',
];
// ハッシュタグマップ
$hashtag_map = [
'kin' => '#SnowMan',
'kiiro' => '#岩本照',
'murasaki' => '#深澤辰哉',
'muji' => '#ラウール',
'ao' => '#渡辺翔太',
'orange' => '#向井康二',
'midori' => '#阿部亮平',
'kuro' => '#目黒蓮',
'aka' => '#宮舘涼太',
'pink' => '#佐久間大介',
];
// 複数出演者のハートを全部つなげる
$hearts = '';
foreach ($talents as $t) {
if (isset($color_emoji_map[$t])) {
$hearts .= $color_emoji_map[$t];
}
}
// ハッシュタグ生成
$hashtag_texts = [];
foreach ($talents as $key) {
if (isset($hashtag_map[$key])) {
$hashtag_texts[] = $hashtag_map[$key];
}
}
$hashtag_text = implode(' ', $hashtag_texts);
// 日付処理
$date_obj = DateTime::createFromFormat('Ymd', $date_raw);
if ( !$date_obj ) {
echo '
日付のフォーマットが正しくありません。Ymd形式で入力してください。
';
return;
}
$date = $date_obj->format('n/j');
$weekday = ['日','月','火','水','木','金','土'][ $date_obj->format('w') ];
$month_slug = $date_obj->format('Ym');
$summary_url = "https://snowman-j.com/{$month_slug}tvall/";
// 放送日時(時間が空欄でも対応)
$datetime_line = "{$date}({$weekday})";
if ($time) {
$datetime_line .= " {$time}〜";
}
// 番組行(局名がある場合)
$bangumi_line = "📺{$show_name}";
if ($station) {
$bangumi_line .= "({$station})";
}
// 最終ツイート文
$tweet = <<format('n')}月テレビ出演まとめに追加
{$summary_url}
TEXT;
// 表示
echo '
📢 Twitter投稿文(コピーして使ってください)
';
}
add_action( 'edit_form_after_editor', 'show_tweet_template_for_tv_post' );
Warning : Cannot modify header information - headers already sent by (output started at /home/erumina/snowman-j.com/public_html/wp-content/themes/cocoon-child-master/functions.php:1) in /home/erumina/snowman-j.com/public_html/wp-includes/pluggable.php on line 1531
Warning : Cannot modify header information - headers already sent by (output started at /home/erumina/snowman-j.com/public_html/wp-content/themes/cocoon-child-master/functions.php:1) in /home/erumina/snowman-j.com/public_html/wp-includes/pluggable.php on line 1534