WordPress canonicalタグで「正規のURL」を出力する(2022年版)

Filed under: wordpress — kdcs @ 2022年6月25日 土曜日

過去記事はこちら

header.phpに直接記述する場合

<link rel="canonical" href="<?php echo (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; echo '">';echo "\n"; ?>

XAMPP8.1.2のMariaDBをMysql5.7にする

Filed under: xampp — kdcs @ 2022年6月22日 水曜日

レンタルサーバーの仕様変更に伴うXAMPP改造 第2弾
ロリポの新規データベースがMysql5.7になり、2022年7月頃phpのモジュール版が7.4から8.1になるためローカルテスト環境の整備。

XAMPPのMariaDBをMysql5.7にする手順
※XAMPPのバージョンは8.1.2
※Mysqlのバージョンは5.7.25

【重要】
手順は以下の通りで多分いいはずだが、このページのコマンドをコピペすると
部分的にエラーが発生したのでネタ元のコマンドを使用した。
phpMyAdminもzipファイルを解凍して設置ではなく、以前作成したXAMPP(php8.1+Mysql5.6)のphpMyAdmin(バージョン5.1.3)をコピペで使用した。

手順はこちらの記事から

Mysql-5.7.25-win32.zipをダウンロードしておく

さらにphpMyAdmin-5.1.3-all-languages.zipもダウンロード

C:\XAMPP\phpMyAdminをphpMyAdmin_8.1にリネーム

C:\XAMPPにphpMyAdminのzipファイルを解凍して設置し、phpMyAdminにリネームする

C:\XAMPP\mysqlをmysql_mariaにリネーム

C:\XAMPPにMysqlのzipファイルを解凍して設置し、mysqlにリネームする

C:\xampp\mariadb\bin\my.ini を C:\xampp\mysql\bin\my.ini にコピーする

テキストエディタでmy.iniを開き、[mysqld]以下にあるkey_buffer=16Mをコメントアウト

コマンドプロンプトで以下を実行

cd C:\xampp\mysql
bin\mysqld –initialize-insecure
start /b bin\mysqld
bin\mysql -u root

以下mysqlコマンド

CREATE USER pma@localhost;
SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY ”;
ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY ”;
\q

mysqlコマンド終了

bin\mysqladmin -u root shutdown

exit

以上でコマンドプロンプト終了

XAMPPを起動させる

cd C:\xampp\mysql
bin\mysqld --initialize-insecure
start /b bin\mysqld
bin\mysql -u root

以下mysqlコマンド

CREATE USER pma@localhost;
SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY '';
ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY '';
\q

mysqlコマンド終了

bin\mysqladmin -u root shutdown

XAMPP7.4.4のMariaDBをMysql5.7にする

Filed under: xampp — kdcs @ 2022年6月21日 火曜日

レンタルサーバーの仕様の変化に伴ってテスト環境(XAMPP)を合わせているが、レンタルサーバーがMysql5.7を採用する一方、XAMPPはMariaDBを採用しているためMariaDBをMysql5.7にする必要が発生した。
そこでXAMPPでPHP7.4とMysql5.7の組み合わせを作る

XAMPPのMariaDBをMysql5.7にする手順
※XAMPPのバージョンは7.4.4
※Mysqlのバージョンは5.7.25

Mysql-5.7.25-win32.zipをダウンロードしておく

C:\XAMPP\mysqlをmysql_mariaにリネーム

C:\XAMPPにMysqlのzipファイルを解凍して設置し、mysqlにリネームする

C:\xampp\mariadb\bin\my.ini を C:\xampp\mysql\bin\my.ini にコピーする

テキストエディタでmy.iniを開き、[mysqld]以下にあるkey_buffer=16Mをコメントアウト

コマンドプロンプトで以下を実行

cd C:\xampp\mysql
bin\mysqld –initialize-insecure
start /b bin\mysqld
bin\mysql -u root

以下mysqlコマンド

CREATE USER pma@localhost;
SOURCE C:/xampp/phpMyAdmin/sql/create_tables.sql;
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON phpmyadmin.* TO pma@localhost;
ALTER USER root@localhost IDENTIFIED WITH mysql_native_password BY ”;
ALTER USER pma@localhost IDENTIFIED WITH mysql_native_password BY ”;
\q

mysqlコマンド終了

bin\mysqladmin -u root shutdown

exit

以上でコマンドプロンプト終了

XAMPPを起動させる

手順はこちらの記事から

phpMyadminのパスワード
phpMyAdmin\config.inc.php

/* Authentication type and info */
$cfg[‘Servers’][$i][‘auth_type’] = ‘config’;
$cfg[‘Servers’][$i][‘user’] = ‘root’;
$cfg[‘Servers’][$i][‘password’] = ”;
$cfg[‘Servers’][$i][‘extension’] = ‘mysqli’;
$cfg[‘Servers’][$i][‘AllowNoPassword’] = true;
$cfg[‘Lang’] = ”;

auth_type の値を config から cookie に変更

ログインするとエラーが出る
「設定ファイルの中に記述されているパスフレーズ(blowfish_secret)が短すぎます。」

phpMyAdmin\config.inc.php
$cfg[‘blowfish_secret’] = ‘xampp’;

xamppのところ32文字以上入れる

デフォルトではphpMyAdminのrootにパスワードが設定されていないのでログイン時
ユーザー名のrootだけで(パスワード未入力)ログインできる

なので、rootにパスワードを設定する
ログインしたら「ユーザーアカウント」→「rootの権限を編集」→「change password」で
パスワードを入力、再入力欄にも入力し、保存をクリックする。

Googleアナリティクス関連(UA GA4 GTMなど)2022

Filed under: googleAnalytics — kdcs @ 2022年4月28日 木曜日

従来のGoogleアナリティクス
グローバル サイトタグ(gtag.js)を使用して、アプリ + ウェブ プロパティの Google アナリティクス タグをサイトに追加する

<!-- Global site tag (gtag.js) - Google Analytics -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID"></script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'MEASUREMENT_ID');
    </script>

この手法では複数のGoogle アナリティクス プロパティを追加することが可能

<script async src="https://www.googletagmanager.com/gtag/js?id=MEASUREMENT_ID">
    </script>
    <script>
      window.dataLayer = window.dataLayer || [];
      function gtag(){dataLayer.push(arguments);}
      gtag('js', new Date());

      gtag('config', 'MEASUREMENT_ID');
      gtag('config', 'MEASUREMENT_ID_2');
    </script>

新規で現行ユニバーサルアナリティクスを設定しGA4も導入する場合は、プロパティ作成時に「ユニバーサルアナリティクスプロパティの作成」のトグルを右にして青くすると、さらに設定画面が表示されここで「ウェブサイトのURL」を入力し、「Googleアナリティクス4とユニバーサルアナリティクスのプロパティを両方作成する」にチェックを入れる。

設定を進め、「タグ設定手順」下にある「グローバルサイトタグ(gtag.js)」をクリックすると、GA4用トラッキングコードが出てくるのでコピー。
次にUA用のプロパティをクリック、「トラッキング情報」-「トラッキングコード」を選択してトラッキングコードを表示させ、「 gtag(‘config’, ‘UA-XXXXXXX-Y’);」の部分のみをコピーしてGA4用のコードに貼り付ける。

<!– Global site tag (gtag.js) – Google Analytics –>
<script async src=”https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX”></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag(‘js’, new Date());gtag(‘config’, ‘G-XXXXXXXXXX’’);
gtag(‘config’, ‘UA-XXXXXXXX-Y’);
</script>

WordPress 管理者ユーザーを一覧から非表示にする

Filed under: functions.php,wordpress — kdcs @ 2022年4月26日 火曜日

管理者以外、例えば編集者にユーザー編集権限を与えた場合、その編集者が管理者を編集(権限変更や削除)ができてしまうので管理者以外はユーザー一覧に管理者を表示させないようにする方法。

function.phpに以下記述 xxxxxxはユーザーネーム

//管理者ユーザーを管理者以外のユーザー一覧から非表示にする--------------------------------
add_action('pre_user_query','site_pre_user_query');
function site_pre_user_query($user_search) {
	global $current_user;
	$username = $current_user->user_login;
 
	if ($username == 'XXXXXX') {
	}
 
	else {
	global $wpdb;
    $user_search->query_where = str_replace('WHERE 1=1',
      "WHERE 1=1 AND {$wpdb->users}.user_login != 'XXXXXX'",$user_search->query_where);
  }
}

ユーザー一覧にはユーザー数が表示されるので管理者1名を引いた数を表示させる記述

//管理者以外のユーザー一覧からユーザー数(管理者)を1つ減らす-----------------------------
if (!current_user_can('administrator')) {
add_filter("views_users", "site_list_table_views");
function site_list_table_views($views){
   $users = count_users();
   $admins_num = $users['avail_roles']['administrator'] - 1;
   $all_num = $users['total_users'] - 1;
   $class_adm = ( strpos($views['administrator'], 'current') === false ) ? "" : "current";
   $class_all = ( strpos($views['all'], 'current') === false ) ? "" : "current";
   $views['administrator'] = '<a href="users.php?role=administrator" class="' . $class_adm . '">' . translate_user_role('Administrator') . ' <span class="count">(' . $admins_num . ')</span></a>';
   $views['all'] = '<a href="users.php" class="' . $class_all . '">' . __('All') . ' <span class="count">(' . $all_num . ')</span></a>';
   return $views;
  }
}

サイト内検索

カテゴリー

最近の投稿

↑上に戻る