WP+PHPスニペット

/* --------------------------- パス, 呼出し --------------------------- */ <!-- 画像 --> <img src="<?php echo get_template_directory_uri(); ?>/assets/images/xxx.jpg" alt=""> <!-- ファイル --> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/js/slick/slick-theme.css"/> <!-- 固定ページUR --> <a href="<?php $page = get_page_by_path('sitemap'); echo get_permalink($page->ID); ?>">サイトマップ</a> <!-- テンプレ呼び出し --> <?php get_template_part( 'tm-contact-link' ); ?> /* --------------------------- ナビ --------------------------- */ <!-- current付与 --> <?php if ( is_page('XXXX') ): ?> current<?php endif; ?> /* --------------------------- 条件分岐 --------------------------- */ <?php if ( is_front_page() || is_page('project') || is_page('company') || is_page('recruit') || is_page('contact') ): ?> 〜処理〜 <?php endif; ?> /* --------------------------- カスタムフィールド --------------------------- */ <!-- テキスト --> <?php if( get_field('cf__p-ep--name-02') ): /* データ有無判定 */ ?> <?php the_field('cf__p-ep--name-02') ?> <?php endif; ?> <!-- 画像 --> <?php if( get_field('cf__p-ep--img') ): /* データ有無判定 */ ?> <img src="<?php the_field('cf__p-ep--img'); ?>" alt="<?php the_field('cf__p-ep--name') ?>"> <?php endif; ?> /* --------------------------- header一式 --------------------------- */ <!-- css common --> <link rel="stylesheet" href="<?php bloginfo( 'stylesheet_url' ); ?>"> <?php /* IE9で非表示 */ $agent = getenv("HTTP_USER_AGENT"); if( !mb_ereg("MSIE 9.", $agent) ){ ?> <?php /* IE8で非表示 */ $agent = getenv("HTTP_USER_AGENT"); if( !mb_ereg("MSIE 8.", $agent) ){ ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/normalize.css"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/fonts.css"> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/style.css"> <?php } ?> <?php } ?> <!-- css tablet --> <?php if ( is_tablet() ) : ?><link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/tablet.css"><?php endif; ?> <!-- css unique --> <?php if ( !is_search() && !is_404() ): ?> <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/assets/css/<?php if ( is_front_page() ) {echo 'home';} elseif ( is_page('privacy-agreement')) {$page = get_page(get_the_ID()); $page_slug = $page->post_name; echo 'contact';} elseif ( is_page()) {$page = get_page(get_the_ID()); $page_slug = $page->post_name; echo $page_slug;} elseif ( is_category('blog') || is_archive() || is_single() ) {echo 'blog';} ?>.css"> <?php endif; ?> <?php if ( is_404() ) : ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/404.css"/> <?php endif; ?> <!-- for IE --> <?php /* IE11用css */ $ua = $_SERVER['HTTP_USER_AGENT']; if (ereg("Trident/7.",$ua)) { ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/ie11.css" media="all"> <?php } ?> <?php /* IE10用css */ $ua = $_SERVER['HTTP_USER_AGENT']; if (ereg("MSIE 10.",$ua)) { ?> <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/ie10.css" media="all"> <?php } ?> <!--[if IE 9]><link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/ie9.css" media="all"><![endif]--> <!--[if IE 8]><link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/assets/css/ie8.css" media="all"><![endif]--> <!--[if (gte IE 6)&(lte IE 8)]><script src="<?php echo get_template_directory_uri(); ?>/assets/js/selectivizr-min-1.0.3b.js"></script><![endif]--> <!--[if lt IE 9]> <?php /* IE8以下で非表示 */ $ua = $_SERVER['HTTP_USER_AGENT']; if (!ereg("MSIE 8.",$ua) > 0) { ?> <script src="<?php echo get_template_directory_uri(); ?>/assets/js/css3-mediaqueries.js"></script> <?php } ?> <?php /* IE8以下で表示 */ $ua = $_SERVER['HTTP_USER_AGENT']; if (ereg("MSIE 8.",$ua) > 0) { ?> <script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> <?php } ?> <script src="<?php echo get_template_directory_uri(); ?>/assets/js/html5shiv-printshiv.js"></script> <![endif]--> /* --------------------------- functions.php --------------------------- */ <?php /* --------------------------- 基本セット --------------------------- */ function organicpanya_setup() { $template_directory_uri = get_template_directory_uri(); /* Breadcrumb NavXTでliに「itemscope=」使えるよにうする ------------------------- */ // function my_bcn_allowed_html($allowed_html) // { // $allowed_html['li']= array( // 'title'=> true, // 'class'=> true, // 'id'=> true, // 'dir'=> true, // 'align'=> true, // 'lang'=> true, // 'xml:lang'=> true, // 'aria-hidden'=> true, // 'data-icon'=> true, // 'itemref'=> true, // 'itemid'=> true, // 'itemprop'=> true, // 'itemscope'=> true, // 'itemtype'=> true // ); // return $allowed_html; // } // add_filter('bcn_allowed_html', 'my_bcn_allowed_html'); /* メインクエリー書き換え(管理画面の設定を上書き) ------------------------- */ function change_posts_per_page($query) { if ( is_admin() || ! $query->is_main_query() ) return; if ( $query->is_archive() or $query->is_front_page() ) { $query->set( 'posts_per_page', '20' ); } } add_action( 'pre_get_posts', 'change_posts_per_page' ); /* 親(先祖)ページの情報をclass名に追加 ------------------------- */ function add_ancestor_class_name($classes) { global $post; if (is_page() && (!is_front_page()) ){ if($post->ancestors){ foreach($post->ancestors as $post_anc_id){ $post_id = $post_anc_id; } } else { $post_id = $post->ID; } $ancestor_post = get_page($post_id); $ancestorSlug = $ancestor_post->post_name; //スラッグ $classes[] = $ancestorSlug; } return $classes; } add_filter('body_class','add_ancestor_class_name'); /* WP4.2から追加された、絵文字を画像に置き換えるスクリプトの停止 ------------------------- */ 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' ); } add_action( 'after_setup_theme', 'organicpanya_setup' ); /* --------------------------- 検索結果から固定ページを除外 --------------------------- */ // function my_posy_search($search) { // if(is_search()) { // $search .= " AND post_type = 'post'"; // } // return $search; // } // add_filter('posts_search', 'my_posy_search'); /* --------------------------- カスタム投稿 --------------------------- */ /* カスタム投稿をRSSに追加 ------------------------- */ function mysite_feed_request($vars) { if ( isset( $vars['feed'] ) && !isset( $vars['post_type'] ) ) { $vars['post_type'] = array( 'project-episode', 'words-senior' ); } return $vars; } add_filter( 'request', 'mysite_feed_request' ); /* カスタム投稿が5個を超えた際、メディアより上にする ------------------------- */ // add_filter( 'custom_menu_order', '__return_true' ); // add_filter( 'menu_order' , 'pm_menu_order' ); // function pm_menu_order( $menu_order ) { // $menu = array(); // foreach ( $menu_order as $key => $val ) { // if ( 0 === strpos( $val, 'edit.php' ) ) // break; // $menu[] = $val; // unset( $menu_order[$key] ); // } // foreach ( $menu_order as $key => $val ) { // if ( 0 === strpos( $val, 'edit.php' ) ) { // $menu[] = $val; // unset( $menu_order[$key] ); // } // } // return array_merge( $menu, $menu_order ); // } /* 投稿のナンバーを表示 ------------------------- */ function ps_number( $post_type = 'project-episode', $op = '<=' ) { global $wpdb, $post; $post_type = is_array($post_type) ? implode("','", $post_type) : $post_type; $number = $wpdb->get_var(" SELECT COUNT( * ) FROM $wpdb->posts WHERE post_date {$op} '{$post->post_date}' AND post_status = 'publish' AND post_type = ('{$post_type}') "); return $number; } /* --------------------------- 管理画面 --------------------------- */ /* ログイン画面にカスタムCSS読み込み ------------------------- */ // add_editor_style('editor-style.css'); // function wp_custom_admin_css() { // echo "\n" . '<link rel="stylesheet" type="text/css" href="' .get_template_directory_uri(). '/editor-style.css' . '">' . "\n"; // } // add_action('admin_head', 'wp_custom_admin_css', 100); /*-------------------------------------------*/ /* 【投稿】のラベルを変更 /*-------------------------------------------*/ function revcon_change_post_label() { global $menu; global $submenu; $menu[5][0] = 'ニュース'; $submenu['edit.php'][5][0] = 'ニュース一覧'; $submenu['edit.php'][10][0] = 'ニュースの新規追加'; $submenu['edit.php'][16][0] = 'タグ'; echo ''; } function revcon_change_post_object() { global $wp_post_types; $labels = &$wp_post_types['post']->labels; $labels->name = 'ニュース'; $labels->singular_name = 'ニュース'; $labels->add_new = '新規追加'; $labels->add_new_item = 'ニュースを追加'; $labels->edit_item = 'ニュースの編集'; $labels->new_item = 'ニュース'; $labels->view_item = 'ニュースの表示'; $labels->search_items = 'ニュースを検索'; $labels->not_found = 'ニュースが見つかりませんでした。'; $labels->not_found_in_trash = 'ゴミ箱内にニュースが見つかりませんでした。'; $labels->all_items = '全てのニュース'; $labels->menu_name = 'ニュース'; $labels->name_admin_bar = 'ニュース'; } add_action( 'admin_menu', 'revcon_change_post_label' ); add_action( 'init', 'revcon_change_post_object' ); /* --------------------------- 画像 --------------------------- */ /* 投稿内イメージ抽出 ------------------------- */ function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches); //$first_img = $matches[1][0]; $first_img = $matches[1][0]; if(empty($first_img)){ //Defines a default image $first_img = get_template_directory_uri()."/assets/images/loop/default.gif"; } return $first_img; } /* --------------------------- プラグイン --------------------------- */ /* ContactForm7に確認用メールアドレスのフィールドを追加 ------------------------- */ add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter_extend', 11, 2 ); add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter_extend', 11, 2 ); function wpcf7_text_validation_filter_extend( $result, $tag ) { $type = $tag['type']; $name = $tag['name']; $_POST[$name] = trim( strtr( (string) $_POST[$name], "\n", " " ) ); if ( 'email' == $type || 'email*' == $type ) { if (preg_match('/(.*)_confirm$/', $name, $matches)){ $target_name = $matches[1]; if ($_POST[$name] != $_POST[$target_name]) { if (method_exists($result, 'invalidate')) { $result->invalidate( $tag,"確認用のメールアドレスが一致していません"); } else { $result['valid'] = false; $result['reason'][$name] = '確認用のメールアドレスが一致していません'; } } } } return $result; }

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.