function get_parts_skin_file_uri() { //define( 'FS_METHOD', 'direct' ); define('MERGED_CSS', '_merged_.css'); $skin_file = get_pearts_base_skin(); if (!$skin_file) { return; } //パーツスキンじゃないときは $skin_arr = explode('/', $skin_file); array_pop($skin_arr); //CSSファイル名の除去 $skin_dir = implode('/', $skin_arr); //var_dump(get_theme_local_dir()); //スキンファイルをローカルパスに変換 $skin_local_file = str_replace(get_theme_dir(), get_theme_local_dir(), $skin_file); //URLをローカルパスに変換 $skin_local_dir = str_replace(get_theme_dir(), get_theme_local_dir(), $skin_dir); //ディレクトリ内の全てのCSSファイルを取得 //var_dump($skin_local_dir); $all_files = get_file_list($skin_local_dir . '/'); //var_dump($all_files); //利用するパーツスキンファイルを取得 $skin_pearts_local_files = array(); foreach ($all_files as $pathname) { $pathname = str_replace('\\', '/', $pathname); if (preg_match('/\\.css$/i', $pathname, $matches)) { //フォルダ名の正規表現が[a-zA-Z\-_]+のとき //結合ファイルの時は読み込まない if (preg_match('/\\/_merged_\\.css$/i', $pathname, $m)) { continue; } //スキンのstyle.cssは先頭にするため読み込まない if (!preg_match('/\\/style\\.css$/i', $pathname, $m)) { $skin_pearts_local_files[] = $pathname; } } } //文字列順に並び替え sort($skin_pearts_local_files, SORT_STRING); //先頭にstyle.cssを追加 $skin_pearts_local_files = array_merge(array($skin_local_file), $skin_pearts_local_files); //var_dump($skin_pearts_local_files); //パーツスキンファイルを開いて全てまとめる $merged_css_text = ''; foreach ($skin_pearts_local_files as $pathname) { if (WP_Filesystem()) { //WP_Filesystemの初期化 global $wp_filesystem; //$wp_filesystemオブジェクトの呼び出し //コメントで位置を表示するためのファイル名取得 $comment_file_name = str_replace($skin_local_dir . '/', '', $pathname); $css = $wp_filesystem->get_contents($pathname); //ファイルの読み込み $merged_css_text .= "/****************************\r\n" . "** File:" . $comment_file_name . "\r\n" . "****************************/\r\n" . $css . "\r\n"; //CSSの結合 } } //var_dump($merged_css_text); $merged_css_file = $skin_local_dir . '/' . MERGED_CSS; if (WP_Filesystem()) { //WP_Filesystemの初期化 global $wp_filesystem; //$wp_filesystemオブジェクトの呼び出し $wp_filesystem->put_contents($merged_css_file, $merged_css_text, 0644); } if (!file_exists($merged_css_file)) { return; } //ファイルが存在しないときnull return str_replace(get_theme_local_dir(), get_theme_dir(), $merged_css_file); //成功した時はファイルパスを渡す }
function simplicity_scripts() { //////////////////////////////////////////////////////////////// // //スタイルシートの呼び出し // //////////////////////////////////////////////////////////////// /////////////////////////////////////////// //テーマスタイルの呼び出し /////////////////////////////////////////// wp_enqueue_style('simplicity-style', get_template_directory_uri() . '/style.css'); /////////////////////////////////////////// //PCでサイドバーをレスポンシブ表示設定がオンの時(完全レスポンシブ機能がオンの時とモバイルの時は設定関係なくレスポンシブ表示する) /////////////////////////////////////////// if (is_responsive_pc_sidebar_enable() || is_responsive_enable() || is_mobile()) { //パソコン用のレスポンシブスタイル wp_enqueue_style('responsive-style', get_template_directory_uri() . '/css/responsive-pc.css', array('simplicity-style')); } /////////////////////////////////////////// //スキンのスタイル /////////////////////////////////////////// if (get_skin_file()) { //設定されたスキンがある場合 if (get_pearts_base_skin()) { //パーツスキンの場合 //パーツスキンスタイル wp_enqueue_style('parts-skin-style', get_parts_skin_file_uri(), array('simplicity-style')); } else { //通常のスキンスタイル wp_enqueue_style('skin-style', get_skin_file(), array('simplicity-style')); } } /////////////////////////////////////////// //Font Awesome /////////////////////////////////////////// wp_enqueue_style('font-awesome-style', get_template_directory_uri() . '/webfonts/css/font-awesome.min.css', array('simplicity-style')); /////////////////////////////////////////// //IcoMoonアイコンフォント /////////////////////////////////////////// wp_enqueue_style('icomoon-style', get_template_directory_uri() . '>/webfonts/icomoon/style.css', array('simplicity-style')); /////////////////////////////////////////// //カレンダーウィジェットのスタイル /////////////////////////////////////////// if (is_calendar_border_visible()) { wp_enqueue_style('calendar-style', get_template_directory_uri() . '/css/calendar.css', array('simplicity-style')); } /////////////////////////////////////////// //コメントのスタイル /////////////////////////////////////////// if (is_comment_type_thread()) { //2chコメントタイプ //スレッドスタイル wp_enqueue_style('thread-style', get_template_directory_uri() . '/css/thread.css', array('simplicity-style')); //完全レスポンシブでないモバイル表示 if (is_mobile() && !is_responsive_enable()) { //モバイルのスレッドスタイル wp_enqueue_style('thread-mobile-style', get_template_directory_uri() . '/css/thread-mobile.css', array('simplicity-style')); } //完全レスポンシブ表示のとき if (is_responsive_enable()) { //レスポンシブのスレッドスタイル wp_enqueue_style('thread-responsive-style', get_template_directory_uri() . '/css/thread-responsive.css', array('simplicity-style')); } //シンプルなスレッドコメントタイプ } elseif (is_comment_type_thread_simple()) { wp_enqueue_style('thread-simple-style', get_template_directory_uri() . '/css/thread-simple.css', array('simplicity-style')); } /////////////////////////////////////////// //白抜きバイラルボタンのとき /////////////////////////////////////////// if (!is_mobile() && is_share_button_type_viral_white() || is_mobile() && is_share_button_type_mobile_viral_white()) { wp_enqueue_style('sns-viral-white-style', get_template_directory_uri() . '/css/sns-viral-white.css', array('simplicity-style')); } /////////////////////////////////////////// //完全レスポンシブ機能が有効のとき /////////////////////////////////////////// if (is_responsive_enable()) { //完全レスポンシブ表示用のスタイル wp_enqueue_style('responsive-mode-style', get_template_directory_uri() . '/responsive.css', array('simplicity-style')); } /////////////////////////////////////////// //Simplicityモバイル /////////////////////////////////////////// if (is_mobile()) { /////////////////////////////////////////// //完全レスポンシブじゃないときだけモバイルスタイルを読み込む /////////////////////////////////////////// if (!is_responsive_enable()) { wp_enqueue_style('mobile-style', get_template_directory_uri() . '/mobile.css', array('simplicity-style')); } /////////////////////////////////////////// //設定されたスキンがある場合mobile.cssを読み込む /////////////////////////////////////////// if (get_skin_file()) { wp_enqueue_style('mobile-skin-style', str_replace('style.css', 'mobile.css', get_skin_file()), array('simplicity-style', 'skin-style', 'mobile-style')); } /////////////////////////////////////////// //animatedModal.js関連ファイルの呼び出し /////////////////////////////////////////// if (is_mobile_menu_type_modal() && is_mobile()) { wp_enqueue_style('animatedmodal-normalize-style', get_template_directory_uri() . '/css/normalize.min.css', array('simplicity-style')); wp_enqueue_style('animatedmodal-animate-style', get_template_directory_uri() . '/css/animate.min.css', array('simplicity-style')); } /////////////////////////////////////////// //フッターモバイルボタンメニュー /////////////////////////////////////////// if (is_mobile_menu_type_slide_in()) { //スライドインメニューのとき if (is_slide_in_light()) { //スライドイン(ライト)のとき wp_enqueue_style('jquery-sidr-light-style', get_template_directory_uri() . '/css/jquery.sidr.light.css', array('simplicity-style')); wp_enqueue_style('footer-mobile-buttons-style', get_template_directory_uri() . '/css/footer-mobile-buttons.css', array('simplicity-style')); wp_enqueue_style('footer-mobile-buttons-light-style', get_template_directory_uri() . '/css/footer-mobile-buttons-light.css', array('simplicity-style')); } elseif (is_slide_in_dark()) { //スライドイン(ダーク)のとき wp_enqueue_style('jquery-sidr-dark-style', get_template_directory_uri() . '/css/jquery.sidr.dark.css', array('simplicity-style')); wp_enqueue_style('footer-mobile-buttons-style', get_template_directory_uri() . '/css/footer-mobile-buttons.css', array('simplicity-style')); wp_enqueue_style('footer-mobile-buttons-dark-style', get_template_directory_uri() . '/css/footer-mobile-buttons-dark.css', array('simplicity-style')); } } } /////////////////////////////////////////// //モバイルメニュータイプがアコーディオンツリーのとき /////////////////////////////////////////// if (is_mobile_menu_type_accordion_tree()) { //SlickNav用のスタイル wp_enqueue_style('slicknav-style', get_template_directory_uri() . '/css/slicknav.css', array('simplicity-style')); } /////////////////////////////////////////// //拡張スタイル /////////////////////////////////////////// wp_enqueue_style('extension-style', get_template_directory_uri() . '/css/extension.css', array('simplicity-style')); /////////////////////////////////////////// //テーマカスタマイザーでのスタイルの反映 /////////////////////////////////////////// if (is_external_custom_css_enable() && css_custum_to_css_file()) { //外部ファイルに書き出しがうまくいったとき wp_enqueue_style('simplicity-style-inline', get_template_directory_uri() . '/css/css-custom.css', array('extension-style')); } else { //ヘッダーに埋め込む時 ob_start(); //バッファリング get_template_part('css-custom'); $css_custom = ob_get_clean(); //HTMLにインラインでスタイルを書く wp_add_inline_style('extension-style', $css_custom, array('extension-style')); } //////////////////////////////////////////////////////////////// // //子テーマ用スタイルシートの呼び出し // //////////////////////////////////////////////////////////////// /////////////////////////////////////////// //子テーマが存在しているときだけに呼び出すスタイル /////////////////////////////////////////// if (is_child_theme_enable()) { //子テーマのstyle.css wp_enqueue_style('child-style', get_stylesheet_directory_uri() . '/style.css', array('simplicity-style', 'simplicity-style')); //子テーマのresponsive.css if (is_responsive_enable()) { //完全レスポンシブ表示用のスタイル wp_enqueue_style('child-responsive-mode-style', get_stylesheet_directory_uri() . '/responsive.css', array('simplicity-style')); } //子テーマのmobile.css if (is_mobile() && !is_responsive_enable()) { wp_enqueue_style('child-mobile-style', get_stylesheet_directory_uri() . '/mobile.css', array('simplicity-style')); } } //////////////////////////////////////////////////////////////// // //印刷用スタイル // //////////////////////////////////////////////////////////////// /////////////////////////////////////////// //印刷時に本文部分のみを抽出するスタイル /////////////////////////////////////////// wp_enqueue_style('print-style', get_template_directory_uri() . '/css/print.css', array('simplicity-style'), false, 'print'); //////////////////////////////////////////////////////////////// // //Wordpress関係スクリプトの呼び出し // //////////////////////////////////////////////////////////////// /////////////////////////////////////////// //jQueryの読み込み /////////////////////////////////////////// wp_enqueue_script('jquery'); /////////////////////////////////////////// //コメント返信時のフォームの移動(WPライブラリから呼び出し) /////////////////////////////////////////// if (is_singular()) { wp_enqueue_script('comment-reply'); } /////////////////////////////////////////// //Simplicity内で使用するJavaScript関数をまとめて定義する外部ファイルを呼び出す(javascript.js) /////////////////////////////////////////// wp_enqueue_script('simplicity-js', get_template_directory_uri() . '/javascript.js', array('jquery'), false, true); /////////////////////////////////////////// //子テーマディレクトリ内のjavascript.jsファイルを呼び出す /////////////////////////////////////////// if (file_exists_in_child_theme('javascript.js')) { //子テーマフォルダ内にjavascript.jsがある場合 wp_enqueue_script('simplicity-child-js', get_stylesheet_directory_uri() . '/javascript.js', array('simplicity-js'), false, true); } /////////////////////////////////////////// //Masonryに関する記述(タイル状リスト) /////////////////////////////////////////// if (!is_singular() && is_list_style_tile_thumb_cards() && have_posts()) { //投稿があるとき //Masonryライブラリの呼び出し(WPライブラリから呼び出し) wp_enqueue_script('jquery-masonry'); //スクリプトに値を送る wp_localize_script('simplicity-js', 'do_masonry', array('enable' => true)); } /////////////////////////////////// //独自シェアボタンに関する記述 /////////////////////////////////// if (is_singular()) { //投稿・固定ページのみ //CSSの呼び出し if (is_share_button_type_default() || is_share_button_type_twitter()) { //独自ボタンでスタイルを利用 //独自シェアボタン用のスタイルを呼び出す wp_enqueue_style('sns-twitter-type-style', get_template_directory_uri() . '/css/sns-twitter-type.css', array('simplicity-style')); } //スクリプト用の設定 if (!is_share_button_type_default() || is_mobile()) { wp_localize_script('simplicity-js', 'social_count_config', array('permalink' => get_permalink(), 'rss2_url' => get_bloginfo('rss2_url'), 'theme_url' => get_template_directory_uri(), 'all_sns_share_btns_visible' => is_all_sns_share_btns_visible(), 'all_share_count_visible' => is_all_share_count_visible(), 'twitter_btn_visible' => false, 'twitter_count_visible' => is_twitter_count_visible(), 'facebook_btn_visible' => is_facebook_btn_visible(), 'google_plus_btn_visible' => is_google_plus_btn_visible(), 'hatena_btn_visible' => is_hatena_btn_visible(), 'pocket_btn_visible' => is_pocket_btn_visible(), 'feedly_btn_visible' => is_feedly_btn_visible())); } } /////////////////////////////////// //ダミー画像生成スクリプトを呼び出す(開発用) /////////////////////////////////// if (is_local_test()) { //ローカルのテスト環境だった場合 wp_enqueue_script('holder-js', get_template_directory_uri() . '/js/holder.js'); } /////////////////////////////////// //コメント欄の高さを文章量に応じて自動調整する /////////////////////////////////// if (is_single() && is_comment_textarea_expand()) { wp_enqueue_script('expanding-js', get_template_directory_uri() . '/js/expanding.js', array('jquery'), false, true); } /////////////////////////////////// //画像の遅延読み込み(Lazy Load)の設定 /////////////////////////////////// if (is_lazy_load_enable()) { ////Lazy Load jQueryプラグインの呼び出し wp_enqueue_script('jquery-lazyload-js', get_template_directory_uri() . '/js/jquery.lazyload.min.js', array('jquery'), false, true); //Lazy Loadプラグインの実行 $lazyload_config = array('threshold' => get_lazy_load_threshold()); if (is_lazy_load_effect_enable()) { $lazyload_config['effect'] = 'fadeIn'; } wp_localize_script('simplicity-js', 'lazyload_config', $lazyload_config); //Responsive Imagesを無効にする(HTML5のsrcset属性利用) remove_filter('the_content', 'wp_make_content_images_responsive'); } /////////////////////////////////// //画像リンク拡大効果がLightboxのとき /////////////////////////////////// if (is_lightbox_enable() && (is_singular() || is_list_style_bodies())) { //Lightboxスタイルの呼び出し wp_enqueue_style('lightbox-style', get_template_directory_uri() . '/lightbox/css/lightbox.css'); //Lightboxスクリプトの呼び出し wp_enqueue_script('lightbox-js', get_template_directory_uri() . '/lightbox/js/lightbox.js', array('jquery'), false, true); } /////////////////////////////////// //画像リンク拡大効果がLityのとき /////////////////////////////////// if (is_lity_enable() && (is_singular() || is_list_style_bodies() || is_list_style_body_just_for_first())) { //Lityスタイルの呼び出し wp_enqueue_style('lity-style', get_template_directory_uri() . '/css/lity.min.css'); //Lityスクリプトの呼び出し wp_enqueue_script('lity-js', get_template_directory_uri() . '/js/lity.min.js', array('jquery'), false, true); } }
echo get_template_directory_uri(); ?> /css/calendar.css"> <?php } ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?> /css/print.css" type="text/css" media="print" /> <?php if (get_skin_file()) { //設定されたスキンがある場合 ?> <?php if (get_pearts_base_skin()) { //パーツスキンの場合 ?> <link rel="stylesheet" href="<?php echo get_parts_skin_file_uri(); ?> "> <?php //var_dump( get_parts_skin_file_uri() ); ?> <?php } else { //通常のスキン ?> <link rel="stylesheet" href="<?php echo get_skin_file();