// 画像ディレクトリを取得しショートコードを作成する function get_image_dir() { return get_bloginfo('template_directory'); } add_shortcode( 'get_image_dir', 'get_image_dir' ); // 絶対URLを取得しショートコードを作成する function get_root_url() { return esc_url(home_url('/')); } add_shortcode( 'get_root_url', 'get_root_url' ); // 固定ページのみ自動整形機能を無効化します。 function disable_page_wpautop() { if ( is_page() ) remove_filter( 'the_content', 'wpautop' ); } add_action( 'wp', 'disable_page_wpautop' ); // 固定ページではビジュアルエディタを利用できないようにする function disable_visual_editor_in_page(){ global $typenow; if( $typenow == 'page' ){ add_filter('user_can_richedit', 'disable_visual_editor_filter'); } } //PCでのみ表示するコンテンツ function if_is_pc($atts, $content = null ) { $content = do_shortcode( $content); if(!wp_is_mobile()) { return $content; } } add_shortcode('pc', 'if_is_pc'); //スマートフォン・タブレットでのみ表示するコンテンツ function if_is_nopc($atts, $content = null ) { $content = do_shortcode( $content); if(wp_is_mobile()) { return $content; } } add_shortcode('sp', 'if_is_nopc'); // 選択できるカテゴリを1つだけにする function limit_category_select() { ?> insert( 'wp_schedules', array( 'department' => intval($post_data['department']), 'time' => intval($post_data['time' ]), 'uketsuke' => intval($post_data['uketsuke' ]), 'mon' => esc_str($post_data['mon']), 'tue' => esc_str($post_data['tue']), 'wed' => esc_str($post_data['wed']), 'thu' => esc_str($post_data['thu']), 'fri' => esc_str($post_data['fri']), 'sat' => esc_str($post_data['sat']), ), array('%d', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s')); $inset_id = $wpdb->insert_id; return $result; } // 診療時間更新SQL function update_schedule($post_data){ global $wpdb; //更新したい内容(post_statusを更新する) $data = array( 'department' => intval($post_data['department']), 'time' => intval($post_data['time' ]), 'uketsuke' => intval($post_data['uketsuke' ]), 'mon' => esc_str($post_data['mon']), 'tue' => esc_str($post_data['tue']), 'wed' => esc_str($post_data['wed']), 'thu' => esc_str($post_data['thu']), 'fri' => esc_str($post_data['fri']), 'sat' => esc_str($post_data['sat']), 'delete_flg' => intval($post_data['delete_flg']), ); //更新したい行の条件 $condition = array( 'id' => $post_data['id'], ); $dataFormat = array('%d', '%d', '%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d'); $conditionsFormat = array('%d'); $result = $wpdb->update('wp_schedules', $data, $condition,$dataFormat,$conditionsFormat); return $result; } // 診療時間一覧取得SQL function get_schedules(){ global $wpdb; $sql = "SELECT " . "* " . "FROM " . " wp_schedules " . "WHERE " . " delete_flg = 0 " . "ORDER BY " . "id ASC "; $result = $wpdb->get_results($sql, ARRAY_A); return $result; } // IDをキーに診療時間を1件取得するSQL function get_schedule_one($id){ global $wpdb; $sql = "SELECT " . "* " . "FROM " . " wp_schedules " . "WHERE " . " delete_flg = 0 and " . "id = ".$id.";"; $result = $wpdb->get_results($sql, ARRAY_A); return $result[0]; } // 科別診療時間取得SQL function get_schedule_department($dpt){ global $wpdb; $sql = "SELECT " . "* " . "FROM " . " wp_schedules " . "WHERE " . " delete_flg = 0 and " . " department = ".$dpt.";"; $result = $wpdb->get_results($sql, ARRAY_A); return $result; } // 受付IDをキーに日本語に変換する function chk_uketsuke($uid) { $uketsukeArray = array('', '当日受付', '当日受付①', '当日受付②', '当日受付③', '予約診療'); return $uketsukeArray[$uid]; } // 診療時間更新 function scheduleedit() { // GETパラメーターがあれば更新ページのテンプレートの読み込み if(isset($_GET['id'])){ include_once get_template_directory()."/admin-template/admin-scheduleedit.php"; } else { // それ以外(更新完了時などリダイレクトせずに一覧ページを表示したいときなど) include_once get_template_directory()."/admin-template/admin-schedulelist.php"; } } // HTMLタグの除去&エスケープ+改行コード変換を行う function esc_str($str) { $str = strip_tags($str); $text = nl2br($str); return $text; } // 管理ページにスラッグ名を表示したい function add_page_columns_name($columns) { $columns['slug'] = "スラッグ"; return $columns; } function add_page_column($column_name, $post_id) { if( $column_name == 'slug' ) { $post = get_post($post_id); $slug = $post->post_name; echo attribute_escape($slug); } } add_filter( 'manage_pages_columns', 'add_page_columns_name'); add_action( 'manage_pages_custom_column', 'add_page_column', 10, 2); // 自動的に挿入されるスクリプトタグからタイプを消す function remove_script_type($tag) { return str_replace("type='text/javascript' ", "", $tag); } add_filter('script_loader_tag','remove_script_type');