※社内専用

__default-data-setting ドキュメント

__default-data-setting ドキュメント

初期設定

テーマ内functionsフォルダの中にある__default-data-setting.phpの内容について。
このファイルはブックマークレットツールEPRESS制作補助ツールの「初期設定」で
設定する内容が書かれているファイルです。

$_POST[‘account’]

function  default_data_setting(){
  global  $wpdb;
  $account  =  $_POST['account'];
$_POST['account'];
ブックマークレットツールEPRESS制作補助ツールの「初期設定」のときに
入力したドメイン。

ヘッダフッタ登録

メニュー名登録

//ヘッダフッター登録
wp_insert_term('ヘッダー', 'nav_menu');
wp_insert_term('フッター', 'nav_menu');
wordpress管理画面
外観-メニューでメニュー名を登録する箇所。

どの領域に表示させるかの設定

$menus  =  wp_get_nav_menus();
foreach($menus  as  $menu) {
  $menu  = (array)$menu;
  if($menu['name'] ==  'ヘッダー') {
    $id_arr['head'] =  $menu['term_id'];
  } elseif($menu['name'] ==  'フッター') {
    $id_arr['foot'] =  $menu['term_id'];
  }
}
wp_insert_termで登録したヘッダ、フッタのidを取得。
$themedir  =  basename(get_template_directory());
$headermenu  =  array(false,
    'nav_menu_locations'  =>  array(
    'header'  =>  $id_arr['head'],//term_id
    'footer'  =>  $id_arr['foot']//term_id
  )
);
// グローバルナビ フッターナビの設定
update_option("theme_mods_${themedir}", $headermenu);
メニュー名のidとnav_menuの位置を紐づけてオプション設定のtheme_mods_epress
に設定しています。

Contactform7

コンタクトフォーム 1の記事のidを取得

$args  =  array(
    'post_type'  =>  'wpcf7_contact_form',
    'post_status'  =>  'publish'
  );
$contact_obj  =  get_posts($args);
$contact_id  =  $contact_obj[0]->ID;
この記事のidを取得しています。
取得したidは固定ページのお問い合わせ内容や他にも使用しています。
[contact-form-7 id="'  .  $contact_id  .  '" title="お問い合わせ"]
など他。

タイトルを コンタクトフォーム 1 → お問い合わせ に変更

$contact_post  =  array(
  'ID'  =>  $contact_id,
  'post_title'  =>  'お問い合わせ',
);
wp_update_post( $contact_post );

固定ページ作成

//デフォルト固定ページ
$opts  =  array(
  "基本情報"  =>  array(
  ー略ー

登録

foreach($opts  as  $opt_key  =>  $opt_val) {
  $results_page  =  $wpdb->get_var( $wpdb->prepare(
    "
    SELECT *
    FROM $wpdb->posts
    WHERE post_title = %s
    AND post_type != wpcf7_contact_form
    ",
  $opt_key
 ) );
  if(empty($results_page[0])) {
      $my_post  =  array(
        'post_title'  =>  $opt_val["post_title"],
        'post_name'  =>  $opt_val["post_name"], // 投稿のスラッグ。
        'post_type'  =>  $opt_val["post_type"],
        'menu_order'  =>  $opt_val["menu_order"],
        'post_content'  =>  $opt_val["post_content"],
        'post_status'  =>  'publish',
        'post_author'  =>  1
      );
    remove_filter('content\_save\_pre', 'wp\_filter\_post_kses');
    // 投稿をデータベースへ追加
    wp_insert_post( $my_post );
  }
}
$results_page
既に同じタイトル名の記事がないかのチェック。
なければ
wp_insert_post( $my_post );
で記事の登録をしています。

ウィジェットの設定

$sidebars_widgets  =  array(
  "wp_inactive_widgets"  =>  array(),
  'sidebar'  =>  array(
    'pages-2',
    'categories-2',
    'recent-posts-2'
  ),
  'array_version'  =>  3
);
update_option("sidebars_widgets", $sidebars_widgets);
$pagethxID  =  get_page_by_path('thanks')->ID;
$widget_pages  =  array(
  '2'  =>  array(
    'title'  =>  'ページ一覧',
    'sortby'  =>  'menu_order',
    'exclude'  =>  $pagethxID
  ),
  '_multiwidget'  =>  1
);
update_option("widget_pages", $widget_pages);
'exclude' => $pagethxID
お問い合わせありがとうございましたページは右カラムには表示させません。

お問い合わせフォーム

フォーム、メール内容設定
update_post_meta($contact_id, '_form', '<section>
<div class="container gutters">
  <div class="inquiry h-adr">
  ご不明な点などございましたら、お気軽にお問い合わせください。
  ー略ー

パーマリンク、画像保存フォルダなどの設定

$options  =  array(
  'uploads_use_yearmonth_folders'  =>  0,
  'upload_path'  =>  'wp-content/uploads',
  'show_on_front'  =>  'page',
  'blogdescription'  =>  '',
  'start_of_week'  =>  0,
  'permalink_structure'  =>  '/%category%/%post_id%'
);
foreach($options  as  $opt_key  =>  $opt_val) {
  update_option($opt_key, $opt_val);
}

uploads_use_yearmonth_folders, upload_path

wordpressの画像の保存フォルダはデフォルトの設定では
wp-content\uploads\配下に画像をアップロードした日付の西暦、月のフォルダになっています。
それをwp-content/uploads/配下にアップロードする設定にしています。
(例)wp-content\uploads\2018\03
uploads_use_yearmonth_folders
アップロードを年月ベースのフォルダーに分けるかどうか。 upload_path
アップロードをこのフォルダーに保持

svgのアップロードの許可

$uploads  =  array(
  "custom"  =>  array(),
  "disabled"  =>  array(
  "aac"  =>  true,
  "ac3"  =>  true,
  "ai"  =>  true,
 ー略ー

update_option("mla_upload_mimes", $uploads);
プラグインMedia Library Assistantを有効化でオプション名”mla_upload_mimes”が
設定されています。
引数disabledにsvgがある状態なのでそこを削除して更新を書けると
svgがアップロードできるようになります。

All in one SEO

$allinonesettings  =  array(
  "aiosp_donate"  =>  "",
  "aiosp_home_title"  =>  "",
  "aiosp_home_description"  =>  "",
ー略ー
update_option("aioseop_options", $allinonesettings);
機能管理のサイトマップやソーシャルメディアなどの設定を行う。

ログインユーザー名の特定を防ぐ

wp_update_user( array( 'ID'  =>  1, 'user_nicename'  =>  'authorname' ) );
ドメインに/?author=1をつけるとリダイレクトされログイン名がわかってしまう仕様があります。
それを防ぐための記述です。

構造化マークアップのデフォルトデータ設定

add_option('org_LocalBusiness', localBusiness_data(), '', 'no');
foreach(org\_settings\_data() as  $option_name) {
  $val  =  '';
 ー略ー