クロピグログ

職業訓練で学んだことまとめ

【WordPress授業九日目】オリジナルテーマ

functions.phpを使ったカスタマイズ

025:JSファイルの読み込み | JOBTECH.JP

026:アーカイブタイトルを変更 | JOBTECH.JP

027:編集画面カスタムカラー追加 | JOBTECH.JP

028:管理画面にID・スラッグを表示する | JOBTECH.JP

029:管理画面の項目を非表示にする | JOBTECH.JP

030:スラッグ名が日本語の時に自動で「投稿タイプ-投稿id」へ変更 | JOBTECH.JP

031:著者ページを表示しない | JOBTECH.JP

032:WordPressでSESSIONを使う | JOBTECH.JP

033:ウィジェット機能を追加 | JOBTECH.JP

034:サイト内に検索フォームを設置 | JOBTECH.JP

 

025:JSファイルの読み込み

●script.js

画面全体がload(読み込み)された後に第2引数の無名関数を実行

window.addEventListener('load'function () {
});

 

第2引数の無名関数内の処理

範囲(スコープ)を絞って$でjquery関数を呼び出せるようにしている

jQuery(function ($) {
  ここにjQueryを使ったコードを記述
});

 


027:編集画面カスタムカラー追加

・色設定を自分好みにカスタムできる

・編集途中でadd_theme_supportを削除すると編集内容が消える可能性があるので注意

 
add_theme_support('editor-color-palette'array(
  array(
    'name' => 'ピンク',
    'slug' => 'pink',
    'color' => '#f78da7',
  ),
  array(
    'name' => 'レッド',
    'slug' => 'red',
    'color' => '#cf2e2e',
  ),
  array(
    'name' => 'オレンジ',
    'slug' => 'orange',
    'color' => '#ff6900',
  ),
));

 

 

031:著者ページを表示しない

これをURLに打ち込むと...

http://localhost/WordPressフォルダ/?author=1

↓ユーザー名ばれちゃう!!

http://localhost/wp00/author/ユーザ名/

●投稿者アーカイブ非表示リダイレクト
セキリティ対策---重要---

 
add_action('template_redirect'function () {
  if (is_author()) {
    wp_redirect(home_url());
    exit;
  }
});

 

032:WordPressでSESSIONを使う

●セッションスタート

add_action('template_redirect'function () {
  if (session_status() !== PHP_SESSION_ACTIVE) {
    session_start();
  }
});

 

チェックする際の追加 例↓

 

front-page.php

<?php
$_SESSION['check'] = 'トップページ踏んでます';
get_header();
?>

 

single.php

<?php
get_header();
if (isset($_SESSION['check'])) {
  echo $_SESSION['check'];
else {
  echo 'トップページ踏んでない';
}
?>

 

 

 

■ フック

◇フィルターフック

文字列を加工する処理を追加できる場所

apply_filter関数

第1引数:フィルターフック名

第2引数:フックに渡す変数(加工に使用する値)

第3引数(任意):オプション

 

add_filter関数

第1引数:フィルターフック

第2引数:フックに渡す変数(加工に使用する値)

第3引数(任意):優先度 初期値:10

     数値が小さいほど優先される

     同じ数値の場合は登録順

第4引数(任意):引数の数

 

◇アクションフック

フック地点に処理を追加する

do_action関数

第1引数:アクションフック名

第2引数(任意):変数

 

add_action関数

第1引数:アクションフック名

第2引数:追加する関数

第3引数(任意):優先度 初期値:10

      数値が小さいほど優先される

      同じ数値の場合は登録順

第4引数(任意):引数の数

 

/*********************************
  ウィジェットエリア作成
 **********************************/
register_sidebar(
  [
    'name' => 'フッターエリア'//管理画面表示されるところ
    'id' => 'widget_footer',
    'description'   => '説明文説明文説明文説明文説明文説明文',
    'before_widget' => '<div class="Widget__item">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="Widget__title">',
    'after_title' => '</h3>',
  ]
);
register_sidebar(
  [
    'name' => '広告エリア'//管理画面表示されるところ
    'id' => 'widget_item',
    'description'   => '広告用スクリプトタグを表示',
    'before_widget' => '<div class="Widget__item">',
    'after_widget' => '</div>',
    'before_title' => '<h3 class="Widget__title">',
    'after_title' => '</h3>',
  ]
);