/* ---------------------------
パス, 呼出し
--------------------------- */
<!-- 画像 -->
<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.