// を呼ぶが、Breadcrumb NavXT プラグインが無効のため大半のページで空欄だった。 // プラグイン不在時のみテーマ側で bcn_display() を定義し、全ページのパンくずを生成する。 // ・階層は WordPress の親子ページ関係(get_post_ancestors)から自動生成 // ・見た目は iriso_unified_breadcrumb_style() が付与 // ・JSON-LD(BreadcrumbList)はSEOプラグイン/iriso_service_breadcrumb_jsonld()が別途出力するため重複させない // ・プラグインを有効化した場合は関数衝突を避けるため定義しない(function_exists ガード) // ───────────────────────────────────────────── if ( ! function_exists( 'bcn_display' ) ) { // パンくず表示用ラベル(長いSEOタイトルを短く見せたいページのみ上書き) function iriso_bc_label( $id ) { $overrides = array( // 'slug' => '表示名', ); $slug = get_post_field( 'post_name', $id ); if ( isset( $overrides[ $slug ] ) ) { return $overrides[ $slug ]; } $t = wp_strip_all_tags( get_the_title( $id ) ); if ( function_exists( 'mb_strlen' ) && mb_strlen( $t ) > 34 ) { $t = mb_substr( $t, 0, 33 ) . '…'; } return $t; } function iriso_render_breadcrumb() { if ( is_front_page() ) { return ''; } // トップページは不要 $sep = ' '; $home = 'ホーム'; $items = array(); if ( is_home() ) { // 投稿一覧(ブログトップ) $items[] = 'ブログ'; } elseif ( is_page() ) { $id = get_queried_object_id(); foreach ( array_reverse( get_post_ancestors( $id ) ) as $aid ) { $items[] = '' . esc_html( iriso_bc_label( $aid ) ) . ''; } $items[] = '' . esc_html( iriso_bc_label( $id ) ) . ''; } elseif ( is_singular() ) { $id = get_queried_object_id(); $pt = get_post_type( $id ); if ( 'post' === $pt ) { $blog = get_option( 'page_for_posts' ) ? get_permalink( get_option( 'page_for_posts' ) ) : ''; if ( $blog ) { $items[] = 'ブログ'; } } else { $pto = get_post_type_object( $pt ); if ( $pto && ! empty( $pto->has_archive ) ) { $link = get_post_type_archive_link( $pt ); if ( $link ) { $items[] = '' . esc_html( $pto->labels->name ) . ''; } } } $items[] = '' . esc_html( iriso_bc_label( $id ) ) . ''; } elseif ( is_category() || is_tag() || is_tax() ) { $items[] = '' . esc_html( single_term_title( '', false ) ) . ''; } elseif ( is_post_type_archive() ) { $items[] = '' . esc_html( post_type_archive_title( '', false ) ) . ''; } elseif ( is_search() ) { $items[] = '「' . esc_html( get_search_query() ) . '」の検索結果'; } elseif ( is_404() ) { $items[] = 'ページが見つかりません'; } elseif ( is_date() ) { $items[] = '' . esc_html( wp_strip_all_tags( get_the_archive_title() ) ) . ''; } elseif ( is_archive() ) { $items[] = '' . esc_html( wp_strip_all_tags( get_the_archive_title() ) ) . ''; } else { return ''; } return $home . $sep . implode( $sep, $items ); } // テンプレートが呼ぶ bcn_display() 本体(出力値は生成時にエスケープ済み) function bcn_display() { echo iriso_render_breadcrumb(); // phpcs:ignore WordPress.Security.EscapeOutput } } // ───────────────────────────────────────────── // 多言語切替スイッチャー(ヘッダー用)2026-07-09 // Google Language Translator の対応16言語を出力。$variant: 'pc'(box-3内div)/ 'sp'(.gnav内li) // 切替の実処理は footer.php の irisoSetLang() が担う(.goog-te-combo + googtransクッキー) // ───────────────────────────────────────────── if ( ! function_exists( 'iriso_lang_switcher' ) ) { function iriso_lang_switcher( $variant = 'pc' ) { $langs = array( 'ja' => '日本語', 'en' => 'English', 'ko' => '한국어', 'zh-CN' => '中文 (简体)', 'zh-TW' => '中文 (繁體)', 'vi' => 'Tiếng Việt', 'th' => 'ไทย', 'id' => 'Bahasa Indonesia', 'tl' => 'Filipino', 'ne' => 'नेपाली', 'my' => 'မြန်မာ', 'km' => 'ខ្មែរ', 'mn' => 'Монгол', 'hi' => 'हिन्दी', 'fr' => 'Français', 'es' => 'Español', 'nl' => 'Nederlands', ); $tag = ( $variant === 'sp' ) ? 'li' : 'div'; $cls = ( $variant === 'sp' ) ? 'iriso-lang iriso-lang-sp notranslate' : 'iriso-lang iriso-lang-pc notranslate'; $svg = ''; $opts = ''; foreach ( $langs as $code => $name ) { $opts .= ''; } echo '<' . $tag . ' class="' . $cls . '" translate="no">' . '' . $svg . '' . '' . ''; } } // ───────────────────────────────────────────── // 露出抑制+軽量化(RSDリンク除去・絵文字スクリプト無効化)2026-07-09 // ※ ver= のクエリ文字列はキャッシュ更新に必要なため残す(消すと更新後に古い資産が残る) // ───────────────────────────────────────────── remove_action( 'wp_head', 'rsd_link' ); remove_action( 'wp_head', 'wp_shortlink_wp_head' ); remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', function ( $plugins ) { return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ) : $plugins; } ); 1日5組限定!貸切フォトスタジオの入曽(いりそ)写真館 https://validator.w3.org/feed/docs/rss2.html 七五三の料金・費用の目安|狭山市いりそ写真館 二十歳の集い2027 狭山・入間・所沢・川越の日程・会場まとめ 写真館概要&当館へのアクセス コンセプト 川越エリアからのアクセス 所沢エリアからのアクセス 入間市の写真館・フォトスタジオ 飯能市の写真館・フォトスタジオ 日高市の写真館・フォトスタジオ 鶴ヶ島市の写真館・フォトスタジオ 朝霞市の写真館・フォトスタジオ 新座市の写真館・フォトスタジオ 証明写真のサイズ・服装・背景ガイド|きれいに写るコツを解説 狭山・所沢・入間のお宮参りにおすすめの神社ガイド|写真館が解説 成人式の前撮りはいつ?髪型・ネイル・当日までの準備ガイド 家族写真はいつ撮る?おすすめのタイミングと服装・コーデガイド マタニティフォトはいつ撮る?何ヶ月がベスト?時期と準備の完全ガイド 七五三はいつ撮る?前撮りの時期・数え年と満年齢・準備の完全ガイド 栃木県から里帰り出産で来てくれましたKくん 埼玉県所沢市からお越しのⅭhieちゃん 飯能市からお越し成人記念のR様 鶴ヶ島市からお越しのNちゃん 狭山市からお越し成人記念のK様 埼玉県入間市からお越しのNaokiくん 八王子市からお越し5歳七五三のRくん 狭山市からお越しのT様 埼玉県所沢市からお越しのRitsuくん バナー 六本木「PHOTO IS」家族写真撮影コーナーに参加します|7月23日(木) 7月23日(木)|六本木「PHOTO IS」写真展で撮影会を担当します Musashino English Festivalにいりそ写真館が参加します 7月4日開催|Musashino English Festivalにいりそ写真館が参加します 【7/11(土)・7/12(日)5組限定】・成人衣裳展示会 狭山市からお越しのHちゃん 成人式 ママ振袖 振袖レンタル 人気急上昇中~フォトウェディング 埼玉県志木市からお越しのMaikoさん 【ハーフバースデー】生後6ヶ月の今しか撮れない愛おしい一瞬をカタチに 七五三 お参り当日をスムーズに過ごすために 狭山市からお越しのYちゃん 埼玉県狭山市からお越しのHitomiさん スタッフ紹介 お宮参りとは? お宮参りを簡単解説 狭山市からお越しお宮参りのSくん 入間市からお越し家族写真のA様 東京都小平市からお越しのAkitoくん フォトスタジオで家族写真を