/* =============================================== 基本設定 =============================================== */ // 管理画面のFavicon設定 function admin_favicon() { echo ''; } add_action('admin_head', 'admin_favicon'); // サムネイルを有効化 add_theme_support('post-thumbnails'); // URIを取得して指定の文字列が含まれるかチェック function match_uri($str) { $uri = $_SERVER['REQUEST_URI']; if (strstr($uri, $str)) { return true; } else { return false; } } /* =============================================== 会社情報 =============================================== */ define('COMPANY_NAME', ''); define('ZIP', '〒000-0000'); define('ADDRESS', '***********'); define('TEL', '03-0000-1111'); define('FAX', '00-0000-0000'); /* =============================================== 投稿情報の取得 =============================================== */ // タイトルを取得 function get_post_title() { $page = get_post(get_the_ID()); $title = $page->post_title; return $title; } // スラッグを取得 function get_post_slug() { $page = get_post(get_the_ID()); $slug = $page->post_name; return $slug; } // IDからタイトルを取得 function get_post_title_by_id($id) { $str = get_page($id); return $str->post_title; } // IDからスラッグを取得 function get_post_slug_by_id($id) { $str = get_page($id); return $str->post_name; } /* =============================================== カスタム投稿タイプ =============================================== */ // カスタム投稿タイプの追加 add_action('init', 'my_technic_init'); function my_technic_init(){ $labels = array( 'name' => __('お知らせ', 'newsrelease'), 'singular_name' => __('お知らせ', 'newsrelease'), 'add_new' => __('新規記事を書く', 'newsrelease'), 'add_new_item' => __('新規記事を書く'), 'edit_item' => __('記事を編集'), 'new_item' => __('新しい記事'), 'view_item' => __('記事を見てみる'), 'search_items' => __('記事を探す'), 'not_found' => __('記事はありません'), 'not_found_in_trash' => __('ゴミ箱に記事はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'with_front' => false,'slug' => 'company/newsrelease' ), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'), 'has_archive' => true ); register_post_type('newsrelease',$args); // カスタムタクソノミーを作成 // カテゴリータイプ $args = array( 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true, ); register_taxonomy('newsrelease_category','newsrelease',$args); // タグタイプ $args = array( 'label' => 'タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false ); register_taxonomy('newsrelease_tag','newsrelease',$args); $labels = array( 'name' => _x('ピックアップ', 'pickup'), 'singular_name' => _x('ピックアップ', 'pickup'), 'add_new' => _x('新規記事を書く', 'pickup'), 'add_new_item' => __('新規記事を書く'), 'edit_item' => __('記事を編集'), 'new_item' => __('新しい記事'), 'view_item' => __('記事を見てみる'), 'search_items' => __('記事を探す'), 'not_found' => __('記事はありません'), 'not_found_in_trash' => __('ゴミ箱に記事はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('with_front' => false,'slug' => 'pickup'), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'), 'has_archive' => true ); register_post_type('pickup',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true ); register_taxonomy('pickup_category','pickup',$args); //タグタイプ $args = array( 'label' => 'タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false ); register_taxonomy('pickup_tag','pickup',$args); $labels = array( 'name' => _x('登録スタッフ向けお知らせ', 'staff-info'), 'singular_name' => _x('登録スタッフ向けお知らせ', 'staff-info'), 'add_new' => _x('新規記事を書く', 'staff-info'), 'add_new_item' => __('新規記事を書く'), 'edit_item' => __('記事を編集'), 'new_item' => __('新しい記事'), 'view_item' => __('記事を見てみる'), 'search_items' => __('記事を探す'), 'not_found' => __('記事はありません'), 'not_found_in_trash' => __('ゴミ箱に記事はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('with_front' => false,'slug' => 'staff-info'), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'), 'has_archive' => false ); register_post_type('staff-info',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'staff-info') ); register_taxonomy('staff_category','staff-info',$args); //タグタイプ $args = array( 'label' => 'タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false ); register_taxonomy('staff_tag','staff-info',$args); $labels = array( 'name' => _x('お仕事探しのぷちコラム', 'column'), 'singular_name' => _x('コンテンツ', 'column'), 'add_new' => _x('新規記事を書く', 'column'), 'add_new_item' => __('新規記事を書く'), 'edit_item' => __('記事を編集'), 'new_item' => __('新しい記事'), 'view_item' => __('記事を見てみる'), 'search_items' => __('記事を探す'), 'not_found' => __('記事はありません'), 'not_found_in_trash' => __('ゴミ箱に記事はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('with_front' => false,'slug' => 'column'), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'), 'has_archive' => false ); register_post_type('column',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'column') ); register_taxonomy('column_category','column',$args); //タグタイプ $args = array( 'label' => 'タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false ); register_taxonomy('column_tag','column',$args); $labels = array( 'name' => _x('コンテンツ', 'contents'), 'singular_name' => _x('コンテンツ', 'contents'), 'add_new' => _x('新規記事を書く', 'contents'), 'add_new_item' => __('新規記事を書く'), 'edit_item' => __('記事を編集'), 'new_item' => __('新しい記事'), 'view_item' => __('記事を見てみる'), 'search_items' => __('記事を探す'), 'not_found' => __('記事はありません'), 'not_found_in_trash' => __('ゴミ箱に記事はありません'), 'parent_item_colon' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'query_var' => true, 'rewrite' => array('with_front' => false,'slug' => 'contents'), 'capability_type' => 'post', 'hierarchical' => false, 'menu_position' => 5, 'supports' => array('title','editor','thumbnail','custom-fields','excerpt','revisions','page-attributes','comments'), 'has_archive' => true ); register_post_type('contents',$args); // カスタムタクソノミーを作成 //カテゴリータイプ $args = array( 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true, 'hierarchical' => true, 'rewrite' => array('slug' => 'contents','hierarchical' => true) ); register_taxonomy('contents_category','contents',$args); //タグタイプ $args = array( 'label' => 'タグ', 'public' => true, 'show_ui' => true, 'hierarchical' => false, 'has_archive' =>true, 'update_count_callback' => '_update_post_term_count', 'rewrite' => array('slug' => 'contents_tag') ); register_taxonomy('contents_tag','contents',$args); } function my_add_rewrite_rules( $wp_rewrite ) { $new_rules = array( 'staff-info/$' => 'index.php?pagename=staff-info', 'staff-info/info$' => 'index.php?pagename=info', 'staff-info/only$' => 'index.php?pagename=only', 'staff-info/important$' => 'index.php?pagename=important', ); $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'my_add_rewrite_rules'); /* function my_add_rewrite_rules( $wp_rewrite ) { $slugArr = get_category_name_by_slug('staff-info'); $new_rules = array( 'staff-info/$' => 'index.php?pagename=staff-info' ); if(!empty($slugArr)): foreach($slugArr as $slug): $new_rules += array( 'staff-info/' . $slug . '$' => 'index.php?pagename=' . $slug ); endforeach; endif; $wp_rewrite->rules = $new_rules + $wp_rewrite->rules; } add_action('generate_rewrite_rules', 'my_add_rewrite_rules'); */ function my_description($description){ if(is_archive('newsrelease')) { $description = 'お知らせページ。パーソルマーケティングは「売れる」を支える、販売・営業支援のプロフェッショナルです。あなたの行動とアイデアで是非「売れる仕組み」を創り上げてください!人"PERSON"を大切にし、仕事を通じて人を元気"POWER"にします。'; } return $description; } add_filter('aioseop_description', 'my_description'); function my_keywords($keywords) { if(is_archive('newsrelease')) { $keywords = '仕事,仕事情報,仕事探し,お知らせ,パーソルマーケティング'; } return $keywords; } add_filter('aioseop_keywords', 'my_keywords'); /* =============================================== カテゴリー情報の取得 =============================================== */ // カテゴリーIDを取得 function get_category_id() { $cat = get_the_category(); $id = $cat[0]->term_id; return $id; } // カテゴリー名を取得 function get_category_name($relation = null) { $cats = get_the_category(); if ($relation == 'child') { foreach($cats as $cat) { if ($cat->parent) { $name = $cat->cat_name; } } } else { $name = $cats[0]->name; } return $name; } // カテゴリースラッグを取得 function get_category_slug() { $cats = get_the_category(); $slug = $cats[0]->slug; return $slug; } // カテゴリースラッグからカテゴリー名を取得 function get_category_name_by_slug($slug) { $cat = get_category_by_slug($slug); return $cat->name; } /* =============================================== ウィジットエリア =============================================== */ register_sidebar(); /* =============================================== 非公開や下書きの固定ページを親ページに設定できるようにする =============================================== */ add_filter('page_attributes_dropdown_pages_args', 'add_private_draft'); function add_private_draft($args) { $args['post_status'] = 'publish,private,draft'; return $args; } /* =============================================== * その他 =============================================== */ // テンプレート名を取得 function get_template_name() { global $post; if ($post->post_parent) { $tpl = get_post_slug_by_id($post->post_parent)."-".get_post_slug(); } else { $tpl = get_post_slug(); } return $tpl; } # サイトのURLを出力 add_shortcode('url', 'shortcode_url'); function shortcode_url() { return get_bloginfo('url'); } # テンプレート・ディレクトリへのパス add_shortcode('template', 'shortcode_tp'); function shortcode_tp() { return get_template_directory_uri(); } # アップロード・ディレクトリへのパス add_shortcode('uploads', 'shortcode_up'); function shortcode_up() { $upload_dir = wp_upload_dir(); return $upload_dir['baseurl']; } remove_filter( 'the_content', 'wpautop' ); // ショートコード function Include_my_php($params = array()) { extract(shortcode_atts(array( 'file' => 'default' ), $params)); ob_start(); include(get_theme_root() . '/' . get_template() . "/$file.php"); return ob_get_clean(); } add_shortcode('myphp', 'Include_my_php'); add_filter( 'wp_calculate_image_srcset_meta', '__return_null' ); // 抜粋文字数 function twpp_change_excerpt_length( $length ) { return ( wp_is_mobile() ) ? 65 : 110; } add_filter( 'excerpt_length', 'twpp_change_excerpt_length', 999 ); // 抜粋省略記号 function twpp_change_excerpt_more( $more ) { return '...'; } add_filter( 'excerpt_more', 'twpp_change_excerpt_more' ); ?>