投稿日:2018/03/09
更新日:2022/01/06
初期設定
テーマ内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 = '';
ー略ー