/* 絵文字のスクリプトを拒否 */ function disable_emoji() { remove_action( 'wp_head' , 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles' , 'print_emoji_styles' ); 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_action( 'init', 'disable_emoji' ); /* アイキャッチを有効化 */ function twpp_setup_theme() { add_theme_support( 'post-thumbnails' ); set_post_thumbnail_size( 800, 800, false ); } add_action( 'after_setup_theme', 'twpp_setup_theme' ); // アイキャッチが設定されていない場合は、記事の1番最初の画像をアイキャッチに設定 function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('//i', $post->post_content, $matches); // $matches[1] が存在し、最初の画像が取得できるかチェック if (!empty($matches[1]) && isset($matches[1][0])) { $first_img = $matches[1][0]; } return $first_img; } // パンくずリスト function breadcrumb( $sep="fa-angle-right" ){ global $post; $bread_position = 1; $str =''; $str.= ''; echo $str; } //breadcrumb() /* ウィジェットエリアの登録 */ register_sidebar(array( 'name' => '右サイド(定型)' , 'id' => 'sub_right' , 'before_widget' => '
', 'after_widget' => '
', 'before_title' => '

', 'after_title' => '

' )); /* カスタムメニューを有効化 */ register_nav_menu( 'header-menu', __( 'ヘッダーメニュー', '8thMetal' ) ); //iphoneまたはipodで閲覧されているかどうかを判定 function is_iphone(){ $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'iPhone')!== false || strpos($ua, 'iPod')!== false ){ return true; }else{ return false; } } //androidスマートフォンで閲覧されているかどうかを判定する関数 //「mobile」文字列の有無を見ることで、タブレット端末をfalse判定 function is_android() { $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'Android')!== false&&strpos($ua, 'Mobile')!== false ){ return true; }else{ return false; } } //Mozillaが開発するスマートフォン用OS「Firefox OS」の判定関数 function is_firefox_os() { $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'Android')=== false&&strpos($ua, 'Firefox')!== false&&strpos($ua, 'Mobile')!== false ){ return true; }else{ return false; } } //Windows Phoneで閲覧されているかどうかを判定する関数 //「mobile」文字列の有無を確認することで、タブレット端末をfalse判定 function is_windows_phone() { $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'Windows')!== false&&strpos($ua, 'Phone')!== false ){ return true; }else{ return false; } } //BlackBerryで閲覧されているかどうかを判定する関数 function is_blackberry() { $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'BlackBerry')!== false ){ return true; }else{ return false; } } //ガラケーで閲覧されているかどうか判定する関数 function is_ktai() { $ua = $_SERVER['HTTP_USER_AGENT']; if( strpos($ua, 'DoCoMo') !== false || strpos($ua, 'KDDI') !== false || strpos($ua, 'UP.Browser') !== false || strpos($ua, 'MOT-') !== false || strpos($ua, 'J-PHONE') !== false || strpos($ua, 'WILLCOM') !== false || strpos($ua, 'Vodafone') !== false || strpos($ua, 'SoftBank') !== false ){ return true; }else{ return false; } } /***** is_ktai()、is_iphone()、is_android()、 is_firefox_os()、is_windows_phone()、 is_blackberry()のどれかがTRUEを返すと is_mymobile()はTRUEを返します。 つまりガラケー・スマホでの閲覧時にはTRUE、 PC・タブレットでの閲覧時にはFALSEを返します。 ******/ function is_mymobile() { if( is_ktai() || is_iphone() || is_android() || is_firefox_os() || is_windows_phone() || is_blackberry() ){ return true; }else{ return false; } } /* テキストウィジェットの自動改行を無効 */ remove_filter('widget_text_content', 'wpautop'); /*管理画面の初期設定欄-----------------------------------------------------------------------------------------------------*/ // 一般設定に「電話番号」と「アナリティクスフィールド」「ソーシャル系リンク」を追加 add_action( 'admin_init', 'add_general_custom_sections' ); function add_general_custom_sections() { // add_settings_field( 'キー', 'ラベル', 'コールバック関数', 'general' )で項目を追加 add_settings_field( 'phone_number' , '電話番号' , 'display_phone_number' , 'general' ); add_settings_field( 'ga_tracking_id' , 'Google Analytics ID' , 'display_ga_tracking_id' , 'general' ); add_settings_field( 'link_facebook' , 'Facebook(URL)' , 'display_facebook' , 'general' ); add_settings_field( 'link_twitter' , 'Twitter(URL)' , 'display_twitter' , 'general' ); add_settings_field( 'link_threads' , 'Threads(URL)' , 'display_threads' , 'general' ); add_settings_field( 'link_instagram_jp', 'Instagram_JP(URL)' , 'display_insta_jp' , 'general' ); add_settings_field( 'link_instagram_en', 'Instagram_EN(URL)' , 'display_insta_en' , 'general' ); add_settings_field( 'link_youtube' , 'YouTube(URL)' , 'display_youtube' , 'general' ); add_settings_field( 'link_telegram' , 'Telegram(URL)' , 'display_telegram' , 'general' ); add_settings_field( 'link_whatsapp' , 'WhatsApp(URL)' , 'display_whatsapp' , 'general' ); add_settings_field( 'link_line' , 'LINE@(URL)' , 'display_line' , 'general' ); add_settings_field( 'link_bayshops' , 'BaySHOPs(URL)' , 'display_bayshops' , 'general' ); add_settings_field( 'link_kannai' , '関内新聞(URL)' , 'display_kannai' , 'general' ); add_settings_field( 'guest_meter' , '混雑メーター' , 'display_guest_meter' , 'general' ); // register_setting( 'general', 'キー' )で値を保存 register_setting( 'general', 'phone_number' ); register_setting( 'general', 'ga_tracking_id' ); register_setting( 'general', 'link_facebook' ); register_setting( 'general', 'link_twitter' ); register_setting( 'general', 'link_threads' ); register_setting( 'general', 'link_instagram_jp' ); register_setting( 'general', 'link_instagram_en' ); register_setting( 'general', 'link_youtube' ); register_setting( 'general', 'link_telegram' ); register_setting( 'general', 'link_whatsapp' ); register_setting( 'general', 'link_line' ); register_setting( 'general', 'link_bayshops' ); register_setting( 'general', 'link_kannai' ); register_setting( 'general', 'guest_meter' ); } //電話番号 function display_phone_number( $args ) { $phone_number = get_option( 'phone_number' ); echo ''; } //Analytics function display_ga_tracking_id( $args ) { $ga_tracking_id = get_option( 'ga_tracking_id' ); echo ''; } //Facebook function display_facebook( $args ) { $link_facebook = get_option( 'link_facebook' ); echo ''; } //Twitter function display_twitter( $args ) { $link_twitter = get_option( 'link_twitter' ); echo ''; } //Threads function display_threads( $args ) { $link_threads = get_option( 'link_threads' ); echo ''; } //Instagram_JP function display_insta_jp( $args ) { $link_instagram_jp = get_option( 'link_instagram_jp' ); echo ''; } //Instagram_EN function display_insta_en( $args ) { $link_instagram_en = get_option( 'link_instagram_en' ); echo ''; } //YouTube function display_youtube( $args ) { $link_youtube = get_option( 'link_youtube' ); echo ''; } //Telegram function display_telegram( $args ) { $link_telegram = get_option( 'link_telegram' ); echo ''; } //WhatsApp function display_whatsapp( $args ) { $link_whatsapp = get_option( 'link_whatsapp' ); echo ''; } //LINE@ function display_line( $args ) { $link_line = get_option( 'link_line' ); echo ''; } //BaySHOPs function display_bayshops( $args ) { $link_bayshops = get_option( 'link_bayshops' ); echo ''; } //関内新聞 function display_kannai( $args ) { $link_kannai = get_option( 'link_kannai' ); echo ''; } //混雑度(セレクトボックス) function display_guest_meter( $args ) { //選択肢 $arrTemp = array( 'guest_meter0' => 'CLOSE' , 'guest_meter1' => '空いてます' , 'guest_meter2' => '入れます' , 'guest_meter3' => 'やや混雑' , 'guest_meter4' => '満席' , 'guest_meter_off' => 'メーターを表示しない' ); //selected $guest_meter = get_option( 'guest_meter' ); $selectbox = ''; echo $selectbox; } /*--------------------------- bogo設定変更 ※202112 使用していないので、一旦プラグイン無効化 ----------------------------*/ /* //言語スイッチのテキスト変更 add_filter( 'bogo_language_switcher','replace_bogo_text'); function replace_bogo_text($output){ return str_replace('English (United States)','english',$output); } //国旗アイコンを削除 add_filter( 'bogo_use_flags','bogo_use_flags_false'); function bogo_use_flags_false(){ return false; } //表示中の言語を取得 function is_english() { $locale = get_locale(); $blnEN = false; if( $locale == 'en_US' ){ $blnEN = true; } return $blnEN; } */ /*--------------------------- カテゴリースラッグからIDを返す ----------------------------*/ function getCatSlugToId( $slug_name ){ $cate_info = get_category_by_slug( $slug_name ); return $cate_info->cat_ID; } /*--------------------------------------------------- カテゴリー一覧の「show_count」をaタグに内包するフック ----------------------------------------------------*/ function my_list_categories( $output, $args ) { $output = preg_replace( '/<\/a>\s*\((\d+)\)/', ' ($1)', $output ); return $output; } add_filter( 'wp_list_categories', 'my_list_categories', 10, 2 ); /*--------------------------------------------------- アーカイブ一覧の「show_count」をaタグに内包するフック ----------------------------------------------------*/ function my_list_archives( $output ) { $output = preg_replace('/<\/a>(.+?)<\/li>/','$1',$output); return $output; } add_filter('get_archives_link', 'my_list_archives'); /*--------------------------------------------------- 独自GETパラメータを追加 ----------------------------------------------------*/ function add_query_vars_filter( $vars ){ $vars[] = "instore"; $vars[] = "meter"; return $vars; } add_filter( 'query_vars', 'add_query_vars_filter' ); // メニューカテゴリーの場合のみ、表示件数を50に変更 function my_pre_get_posts( $query ) { if ( is_admin() || !$query->is_main_query() ) { return; } $catInfo = get_queried_object(); //現在のカテゴリーオブジェクト if ( isset($catInfo) && $catInfo instanceof WP_Term ) { $curCat = $catInfo->cat_ID; //現在のカテゴリーID $curCatName = $catInfo->cat_name; //現在のカテゴリー名 $parCat = $catInfo->parent; //最上カテゴリーのID。なければ0。 } else { $curCat = 0; $curCatName = ''; $parCat = 0; } $parCatName = ''; //最上カテゴリーのスラッグ格納用 $is_Child = false; //子カテフラグ //親カテゴリーを持つ場合 if($parCat != 0){ //配列の一番最後の値(一番上のカテゴリーID)を取得 $ancestor = array_pop(get_ancestors( $curCat, 'category' )); $parCatName = get_cat_name($ancestor); //最上カテゴリースラッグ $parCat = $ancestor; //最上カテゴリーID $is_Child = true; //子カテフラグをON //自身が最上の場合 }else{ $parCatName = $curCatName; //自カテゴリー名 $parCat = $curCat; //自カテゴリーID } if ( $parCatName == 'menu' ) { $query->set( 'posts_per_page', 50 ); } } add_action('pre_get_posts','my_pre_get_posts'); /*--------------------------------------------------- ショートコードの設定 ----------------------------------------------------*/ // テキストウィジェトでも使用可能にする add_filter('widget_text', 'do_shortcode' ); // サイトURL add_shortcode('url', 'shortcode_url'); function shortcode_url() { return get_bloginfo('url'); } // テーマファイルディレクトリ add_shortcode('theme', 'theme_dir'); function theme_dir() { return get_template_directory_uri(); } // X-Robots-Tagを利用して feed に noindex を付与する add_action('template_redirect', function(){ if ( is_feed() && headers_sent() === false ) { header( 'X-Robots-Tag: noindex, follow', true ); } }); ?>
Warning: Cannot modify header information - headers already sent by (output started at /home/eighth/83rd.bar/public_html/wp/wp-content/themes/8thMetal/functions.php:29) in /home/eighth/83rd.bar/public_html/wp/wp-includes/pluggable.php on line 1450

Warning: Cannot modify header information - headers already sent by (output started at /home/eighth/83rd.bar/public_html/wp/wp-content/themes/8thMetal/functions.php:29) in /home/eighth/83rd.bar/public_html/wp/wp-includes/pluggable.php on line 1453