Quantcast
Channel: 神戸ホームページ制作会社ユニファースの代表ブログ
Viewing all 218 articles
Browse latest View live

WordPressの権限を、mysql を書き換えることで変更する方法

$
0
0

WEB制作会社から管理者権限のログイン情報を教えてもらえなかった為、困っているというケースがありました。

このケースでは、投稿者権限のログイン情報ならば分かっていたので、それを管理者権限のIDにかえることにしました。この方法について、解説します。

1.IDを探す

phpMyAdmin を使って、DBへアクセスしてください。そして、{wp_users}というテーブルを開いてください。

ログインIDを、{user_login}か{user_email}の中から探します。そして、一番左の{ID}をメモします。今回のケースでは、購読者権限のあるログインIDは、{read}だったので、{ID}は、{2}となります。

2.{ID}で検索

次に、{wp_usermeta}というテーブルを開いて、上の{検索}をクリックして下さい。

 

 

{user_id}へ、先ほどメモした{ID}を記入して右下の{実行}をクリックしてください。

3.{wp_capabilities}の書き換え

そうすると、下のような一覧が出てきますので、赤枠のレコードを書き換えます。まずは、{wp_capabilities}の{編集}をクリックしてください。

{meta_value}を

a:1:{s:13:"administrator";b:1;}

と書き換えて、{実行}をクリックしてください。

4.{wp_user_level}の書き換え

{wp_user_level}の{編集}クリックしてください。

{meta_value}を{10}と書き換えて実行してください。

以上です。

おわりに

これで無事に、投稿者権限のIDが管理者権限のIDにかわりました。

管理者権限のIDへログイン出来ないときは、とても便利な方法です。是非、ご活用下さい。


jQueryのコンフリクトを回避する方法

$
0
0

JQueryを新しく入れた時に、GoogleChromeのデベロッパーツールで確認すると、以下のようなエラーが発生する場合があります。

Uncaught TypeError: $ is not a function at (index):100

今回のケースでは、WordPressのヘッダーへ以下のように記述したことでコンフリクトが起こりました。

<script>
$(document).ready(function() {
  $('.drawer').drawer();
});
</script>

このエラーは、WordPressを使っていると、よく遭遇します。これを簡単に回避する方法を下に記載します。

jQuery.noConflict();
(function($) {

})(jQuery);

で、

$(document).ready(function() {
  $('.drawer').drawer();
});

を囲えばOKです。最終的には、

jQuery.noConflict(); 
(function($) {

$(document).ready(function() {
  $('.drawer').drawer();
});

})(jQuery);

となります。

たったこれだけです。

見事にエラーが消えたかと思います。

とても役に立つ方法なので、活用下さい。

アナリティクスからエクスポートした比較表のセッションを分離する方法

$
0
0

先月と先々月、先月と前年同月など、アクセス数の変化を比較したい時があります。その場合、アナリティクスで以下のような設定をして、データをエクスポートすることになると思います。

この後、エクスポート。

こうして出てきた比較表は、以下のようなものです。

別の期間のセッション数が、同じ縦の列に一覧になっているので、非常に扱いにくいです。

これを扱いやすいように分離する方法を下で書きます。

1.行の追加

空白の列を、セッションの横に2つ追加して下さい。今回のケースだと、D列の横に2つ追加することになります。

2.E列へ11月のセッション数を入れる式

E2には、以下のように入れて下さい。

=IF(COUNTIF(C2,"*2019/11*"),D2,"")

上の意味は、「C2へ、{2019/11}と書かれている場合、D2の数字を記入せよ。書かれていない場合は、空白で。」という意味です。

E列全てにオートフィルすると以下のようになります。

3.F列へ、10月のセッション式を入れる式

F2列にも同様に、以下のような式を入れて、オートフィルします。

=IF(COUNTIF(C3,"*2019/10*"),D3,"")

そうすると、比較したい月同士のセッション数が同じ行に並びます。

4.文字列に変換

ここからデータを分析する場合は、ソートをしないと使いにくいのですが、このままソートすると無茶苦茶になります。

必ず、EとFの列を計算式から文字列に変換して下さい。列全体を選択してコピー。

値を選択して、貼り付けです。

終わりに

これで、ソート可能でセッション数が比較可能な表に整形できます。

どうぞアナリティクスのデータ分析に活用下さい。

【WordPressトラブル解決】WordPressのアップデートでサイトが表示されない

$
0
0

WordPressのアップデートでサイトが表示されないというご相談がありました。

サイトを確認しますと、確かに表示されていません。

運営しているサーバーを確認しましたところ、{エックスサーバー}を使っているとのこと。しかし、エックスサーバーは10年位使っていますが、上のようなエラーを見たことがありません。

そこで、whois を確認しましたら、ネームサーバーがGMOサーバーのものがセットされています。

ご依頼者に確認しましたところ、「最近までGMOサーバーを使っていたが、エックスサーバーへ乗り換えた」とのこと。

これらのことより、

  1. WordPressのアップデートでサイトが表示されなくなったと仰っているが、違うかもしれない
  2. まずはネームサーバーをエックスサーバーへ向けなければならない
  3. 向ける際には、hosts で、向けてもサイトが正常に表示されるかチェックしてからにする必要がある

という方針が立ちました。

1.エックスサーバーの設定確認

エックスサーバーを確認しましたら、そもそもドメインが登録されていないことが判明。

そして、サイトが表示されていない原因が、GMOサーバーへ使用料を支払っていないからということも判明。

上記した方針から、方針変更です。

  1. エックスサーバーへドメインの追加
  2. GMOサーバーへ使用料の支払い(データの復旧には、サーバーを復旧させるしかない)
  3. GMOサーバーよりファイル一式&DBのダウンロード
  4. エックスサーバーへアップロード&インポート
  5. ネームサーバーの書き換え

まずは、当該ドメインの追加をしました。

GMOサーバーへ使用料を払ってもらったところ、サイトが表示されました。データも無事です。

2.GMOサーバーからデータをダウンロード

RSプランだと、こういうメニュー構成です。

◆ファイルのダウンロード

サイドメニューの{ファイル管理}よりまず{FTPアカウント}を作成して、サーバーへFTP接続。

サーバー上でファイル群をzipに圧縮できるプログラム(こちら)を使って、ファイルを圧縮してダウンロード。

◆データベースのダウンロード

サイドメニューのデーターベースより、phpMyAdminへログイン。

該当ファイルをエクスポート。

3.エックスサーバーへファイル群をアップロード

◆ファイル群のアップロード

先ほどつくった圧縮ファイルと、こちらの解凍用のプログラムをアップロード。

unzip.php を実行する際、hosts で仮想的にドメインとエックスサーバーを繋ぐと楽です。

そうすると、まだネームサーバーをエックスサーバーへ向けてないのに、ドメインのURLが使えます。

問題無く、ファイル群が解凍完了します。unzip.php と a.zip はサーバーから消しておいてください。

◆データベースのインポート

エックスサーバーでデータベースの作成と、ユーザーの作成を行います。

GMOサーバーでバックアップしたデータベースをエックスサーバーのphpMyAdminを使ってインポート。

以下のような構成になりました。

wp-config.php のデーターベース設定をエックスサーバーのものへ書き換え。

hosts で仮想的にエックスサーバーとドメインを繋いだ状態でサイトが閲覧出来ることを確認しました。

4.ネームサーバーの書き換え

お名前コムに戻って、ネームサーバーの書き換えをして完了です。

ドメイン>該当ドメインをクリック>ネームサーバー情報の項目

ネームサーバーの変更をクリック>その他

エックスサーバーのネームサーバーへ変更して{確認}そして{OK}

ネームサーバーがエックスサーバーのものに浸透したら移転完了です。

おわりに

今回は、WordPressの更新が原因と思われていたところ、GMOサーバーの更新ミスが原因でサイトが閲覧できなくなっていた事例でした。

サイトが閲覧出来なくなったりでお困りの方がいれば、是非お問い合わせ下さい。

jQueryのAjaxを使って、ページ遷移せずにデータをPOSTする方法

$
0
0

表題の方法について解説しているページは多いのですが、サンプルコードが中々無かったので記事にしました。

まずは、サンプルをご覧ください。

動作的には、select すると、裏側で、 a_ajax.php へパラメーターを投げて、返ってきたデータをページへ書き込むという処理をしています。

では早速サンプルコードです。

【htmlのヘッダー部分】

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
 
    $('select').change(function() {
 
var val_x = $('[name=x]').val();
var val_y = $('[name=y]').val();


        $.ajax({
            type: "POST",
            url: "a_ajax.php",
            data: {
                "x":val_x,
                "y":val_y
            },
            success: function(data){
                $('#goukei').text(data);
 
            }
        });
 
 
    });
 
});


</script>

selectの値が変更されたら、jQueryが実行するようにしています。

{var val_x = $(‘[name=x]’).val();}で、{<select name=”x”>}で選ばれた{value}を取得しています。

{type}へ{POST}を入れています。

{url}へ裏側で実行するプログラム名を入れています。

{data}で、プログラムへPOSTするパラメーターを記述しています。

{success}のところは、POSTが成功したら、{data}の変数へ値を代入するという意味です。

【htmlのbody部分】

<p><span class="title">一つ目の数字:</span><br />
<select name="x">
<option value="-1">選んで下さい</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</p>


<p><span class="title">二つ目の数字:</span><br />
<select name="y">
<option value="-1">選んで下さい</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</p>

普通のセレクトボックスです。{form}で囲んだりはしていません。ヘッダー部分の解説でも書いていますが、{select}の値を変更すると、jQueryが発火するように記述している為です。

【a_jquery.php】

<?php
//京都

$x = $text = $y = null;
$x = $_POST['x'];
$y = $_POST['y'];

$text = $x + $y;

if($x == -1 && $y == -1){
	$text = "一つ目の数字と二つ目の数字を選んで下さい";
}elseif($x == -1 && $y > -1){
	$text = "一つ目の数字を選んで下さい";
}elseif($x > -1 && $y == -1){
	$text = "二つ目の数字を選んで下さい";
}



echo $text;


?>

何の変哲もない、データがPOSTされた際の実行プログラムです。{echo}で数値をhtmlへ返します。

以上

最後に

如何でしたでしょうか?

ずっと前に、ページ遷移せずにリロードする方法という記事を書いていますが、これのPOSTバージョンですね。

参考になれば幸いです。

PHPで変換される指数表記を小数表記に変換する関数

$
0
0

サーバー上で数字を表示する場合、PHPに限らずjavascriptでも、小数点表記で表示できるのは、小数点以下4桁までのようです。5桁になると、指数表記に変換されてしまうんです。

例えば以下のプログラムを実行すると、小数点以下5桁以上は、指数表記に変換されるのがよくわかります。

<?php
//京都

$x = 0.0001;
var_dump($x);

$y = 0.00001;
var_dump($y);

?>

画面表示:float(0.0001) float(1.0E-5)

参考:デモプログラムa

この指数表記を小数点表記に変換する方法は、sprintfを使って以下のコードを書けばOKです。

<?php
//京都

$x = 0.0001;
var_dump($x);

$y = 0.00001;
$a = "%.5f";
$y_b = sprintf($a, $y);
var_dump($y_b);

?>

参考:デモプログラムb

しかし、小数点以下の桁数が予め分かっていれば上のコードで何ら問題無いのですが、分かっていない場合は使いづらいです。そこで小数点以下の桁数が分かっていなくても、小数表記に変換出来る関数を作りましたので参考にして下さい。

まずは、入力された数字自体が指数表記になっていた場合に、少数表記へ変換する関数です。

function index_to_decimal($str){
	if( preg_match('@\.(\d+)E\-(\d+)@',$str,$matches) ){
		$digit = strlen($matches[1])+$matches[2];
		$format  = "%.".$digit."f";
		$str     = sprintf($format,$str);
		return $str;
	}
	return $str;
}

次に、{0.001000}を{0.001}へ、{100.}を{100}へ整形する関数です。コードは以下の通りです。上のindex_to_decimalも使っています。

function remove_back_zero($str){
	$str = index_to_decimal($str);
	if( preg_match('@\.@',$str,$matches) ){
		$patterns = array();
		$patterns[0] = '@0+$@';
		$patterns[1] = '@\.+$@';
		$replacements = array();
		$replacements[2] = '';
		$replacements[1] = '';
		return $str = preg_replace($patterns, $replacements, $str);
	}
	return $str;
}

これらの関数を組み合わせると、指数表記から小数表記へ変換出来ます。

<?php
//京都
$x   = 0.0000005677800;

var_dump($x);
var_dump(remove_back_zero($x));




function index_to_decimal($str){
	if( preg_match('@\.(\d+)E\-(\d+)@',$str,$matches) ){
		$digit = strlen($matches[1])+$matches[2];
		$format  = "%.".$digit."f";
		$str     = sprintf($format,$str);
		return $str;
	}
	return $str;
}

function remove_back_zero($str){
	$str = index_to_decimal($str);
	if( preg_match('@\.@',$str,$matches) ){
		$patterns = array();
		$patterns[0] = '@0+$@';
		$patterns[1] = '@\.+$@';
		$replacements = array();
		$replacements[2] = '';
		$replacements[1] = '';
		return $str = preg_replace($patterns, $replacements, $str);
	}
	return $str;
}

?>

参考:デモプログラムc

おまけで、小数点以下の足し算で、指数表記へ変換されない関数も書いておきます。上の関数に加えて、小数点以下の桁数を取得する関数が必要です。コードは以下の通りです。

function conjectrue_digits($str) {
	
	$str = remove_back_zero($str);
	preg_match('@\.(\d+)@',$str,$matches);
	if($matches){
		$digit = strlen($matches[1]);
	}else{$digit=0;}
	return $digit;
}

これらの関数を組み合わせて、以下のコードが完成します。

<?php
//京都

$x   = 0.0000005677800;
$y   = 0.00001231111;

$sum = $x+$y;
var_dump($sum);

//$xと$yの小数点以下の桁数を取得。そして、大きい方の桁数を取得
$digit_x = conjectrue_digits($x);
$digit_y = conjectrue_digits($y);
$digit_max = max($digit_x,$digit_y);


//小数点以下の数字をそのまま足し算すると、誤差が生じるために、二つの数字を整数へ変換
$pow = pow(10,$digit_max);
$x_b = $x * $pow;
$y_b = $y * $pow;


//整数同士で足し算をした後に、小数へ戻す
$sum = ($x_b+$y_b)/$pow;

$format  = "%.".$digit_max."f";
$sum     = sprintf($format,$sum);

var_dump($sum);


function index_to_decimal($str){
	if( preg_match('@\.(\d+)E\-(\d+)@',$str,$matches) ){
		$digit = strlen($matches[1])+$matches[2];
		$format  = "%.".$digit."f";
		$str     = sprintf($format,$str);
		return $str;
	}
	return $str;
}

function remove_back_zero($str){
	$str = index_to_decimal($str);
	if( preg_match('@\.@',$str,$matches) ){
		$patterns = array();
		$patterns[0] = '@0+$@';
		$patterns[1] = '@\.+$@';
		$replacements = array();
		$replacements[2] = '';
		$replacements[1] = '';
		return $str = preg_replace($patterns, $replacements, $str);
	}
	return $str;
}

function conjectrue_digits($str) {
	
	$str = remove_back_zero($str);
	preg_match('@\.(\d+)@',$str,$matches);
	if($matches){
		$digit = strlen($matches[1]);
	}else{$digit=0;}
	return $digit;
}


?>

参考:デモプログラムd

以上。

そもそも、小数表記から指数表記へ自動変換されない方法を探したのですが、どうやらありませんでした。その後、私も色々、指数表記された数字同士を、誤差を少なく加減乗除する関数を検索したのですが、見つからず。

試行錯誤した結果、上の関数に行き着きました。同じ悩みを持っている方のお役に立てますように。

2019年に買って良かったもの

$
0
0

2019年ももうすぐ終わりですね。

私が今年に買ったもので、満足したものをまとめましたのでご覧ください。

ゴルフ関係や家電、本が多めです。

ではいきます。

家電

レッツノート CF-SV8SSJQP

3年に1度はノートパソコンを買い換えています。前のノートパソコンもレッツノート(CF-SZ6FF7PP)でした。

レッツノートの良さは、何と言っても

  • 軽さ
  • バッテリーの持ちの良さ
  • usb hdmi DVDドライブなど、ビジネスに必要なものは何でも付いている
  • 壊れにくい

です。他のメーカーで、これらを満たすものはありません。

価格:413,144円

SSD:1TB
重さ:1.1kg
バッテリーの持ち:19時間
USB 3.1 Type-Cポートあり

USB Type C ハブ

仕事場でも外でも同じ環境を使いたい、しかし仕事場で使う時にはデュアルディスプレイとして使いたい、というニーズで買いました。

大画面で仕事が出来る環境になったので、おおむね満足です。

ディスプレイ

上のデュアルディスプレイを実現するのに(ノートパソコン本体のディスプレイは、仕事場では切っています。画面の大きさが違いすぎて逆に仕事がしにくいので)使っているディスプレイはこちら。

画面の大きさは満足しているのですが、ディスプレイとディスプレイの間のフレームが気になります。とは言え、完璧なフレームレスのディスプレイは見つけられませんでしたので、妥協ですね。

注意

usb Type Cのハブで、hdmi のディスプレイを2つつなげるものはまれです。2つつなげても、同時に画面を写せなかったりします。hdmi から usb へ変換するアダプターを買ったのですが、画面がちらついて使い物になりませんでした。1つのディスプレイはハブへ。1つのディスプレイはPCへつなぐことで妥協する方が無難です。

生活用品

難消化性デキストリン

私は日常生活で3日に一回位の頻度で便をしています。しかし、この難消化性デキストリンを飲み始めてからというもの、1日1回出るようになりました。便秘気味の方にはとてもおすすめです。

飲み方

コーヒーに溶かしたりして飲むと味が気になります。水やお湯もだめでした。なので、偏食気味というのもあって、バランサー(1杯で1日分20種類の栄養素が摂れる マルチバランス栄養食)に混ぜて飲んでいます。これなら全く気になりません。

シャンプー

頭がすぐにかゆくなる体質なのですが、予防で有名なメリットは全く僕には合いません。むしろ、使えば使う程頭がかゆくて仕方有りません。そこで出会ったのがこのシャンプー

1日くらいお風呂に入らなくても頭がかゆくなることが無いんですよね。おすすめです。

ゴルフ

ゴルフナビ

距離感が全くなのでゴルフナビを使っています。元々、ショットナビを使っていたのですが、コースの地形が分からないという欠点がありました。

そこで、買い換えることにしたのですが、条件として

  • コースの地形が分かる
  • 距離がわかる
  • スコアが入力出来る

を満たすものを探したところ、ガーミンのS60がベターと判断して購入しました。

ガーミン S60の売りは、打ったクラブを記録出来て、後でクラブ毎の飛距離や打球の弾道がチェック出来るというものですが、初心者が入力するのは無理ですね。ただでさえ、回りに迷惑をかけるスロープレイなのにゴルフクラブを入力している暇はありません。

と言うわけで、

  • コース毎のスコアが入力出来る
  • 弾道が記録される
  • コースマップが事前に見れる

というメリットを享受しています。おおむね満足です。

ティー

ショートティーとロングティーを2つ持ち歩くのが苦手です。そんな僕が重宝しているのがこれ。

2種類のティーが紐で結んであるので、ポケットから探す手間も省けてとても便利です。

お風呂用下着バッグ

お風呂に入る時用の、下着を入れるバッグを探していて見つけました。これを使うまでは、両手一杯に靴下・下着・シャツ・ズボンを持ち運んでいました。このバッグを使い始めてからは、靴下・下着を1つにまとめられる上、脱いだ後の靴下・下着・ゴルフウェアもバッグへ入れて圧縮して持ち帰れるのでかさばらずに便利です。

たった一人の分析から事業は成長する 実践 顧客起点マーケティング

この本は、何年かぶりに衝撃を受けた本です。メリットやベネフィットを深く考察するきっかけになりました。ベネフィットを理解したことで、LPやプロモーション作成に揺るぎ無い軸ができました。マーケターならば必読の書です。

サードドア―精神的資産のふやし方

これまでビジネスで正攻法ばかりにこだわってきました。そして玉砕する場面も多かったです。この本では、サードドアを利用することの大切さに気づかせてくれました。これこそ僕に足りなかったもの。間違い無く今後の僕の人生に影響を与える良書です。

 

2019年の株式投資実績を公開

$
0
0

2019年の株式投資実績は、+50%位で着地しました。

大幅に利益が出来たものもあれば、損切りしたものもあり。損切りした後に切り返した銘柄も多数あります。苦笑

印象に残った銘柄を紹介します。

利益が出た銘柄

エムアップ(3661)

一番儲けた銘柄はエムアップです。

1月半ば頃の1640円位から買い、最高3000円売り。6月20日頃全株手仕舞い。

購入の理由

2020年3月期の東洋経済予想EPSは59円。高成長株として評価し、PERのレンジを30~50と設定すると、その株価レンジは1770円から2950円。ダウンサイドリスクは小さく、アップサイドは大きい。

チームスピリット(4397)

結構儲けていたのに、決算発表後に先行き不透明となり投げ売りした銘柄。

2018年12月半ばに1600円位で購入。4月半ばに最高2400円位で売却。7月上旬より改めてインして買い増していったものの、10半ばの決算発表後に投げ売り。

購入・投げ売りの理由

働き方改革のテーマ株であるということから高成長が見込める。また、20年8月のコンセンサス予想EPSが25~27円。PER50倍なら1350円。PER70倍なら1890円。PER100倍なら2700円。

順調に利益を積み重ねていたものの、19年10月の決算発表にて、

  • 今期も売上増予想にもかかわらずEPS予想が7円
  • 今期の予想は開示されたものの来期の予想は開示されなかった

という理由で投げ売り。

しかしながら、その後反転。。トホホ

リックソフト(4429)

立ち会い外分売の発表により大きく下げたところを取りました。

10月半ばに4450円で購入。11月下旬に5580円で売却。一部はまだ保有中

購入の理由

10月半ばの中間決算にて立ち会い外分売の発表。需給関係の悪化を懸念して大幅に下落。

しかし、業績は堅調なことより、今期の予想コンセンサスEPS76円に対して60倍を切るのは割安と判断して購入。

損切りした銘柄

インターアクション(7725)

米中貿易戦争に巻き込まれて損切りした銘柄です。

四月半ばに1608円で購入。7月8日に損切り。その後の上昇はご覧の通りです。トホホ

購入・損切りのの理由

今期予想コンセンサスEPS132円に対して12倍は割安。成長性も高い。

という理由で購入したものの、米中貿易戦争が勃発し、不透明感が増した為に内需株へシフトし損切り。

しかしながらその直後、貿易戦争の懸念が後退してご覧の通り上昇。持っていれば2倍か。。トホホ

スマレジ(4431)

消費税アップによるレジ買い替え需要にベット。

7月上旬に2979円で購入。レンジを割って、下値を切り下げたので11月下旬に損切り。

購入・損切り理由

消費税アップによるレジ買い換え需要を見込んで購入。

コンセンサスEPS47.2円に対して63倍。高成長性に対して100倍は固いと思って購入。

しかしながらレンジを割ったことと、消費税増税後も右肩下がりでテーマから外れたと思い損切り。

その後急速に切り返し。。。トホホ

最後に

少子高齢化に国の借金、好景気になる見込みの無い中で、特に自営業は自分で身を守る必要があります。

そんな不安の中で、本業の傍らで株式投資をしています。デイトレする時間は無いので、頻繁に売買はしていないし取引銘柄数も10銘柄程度。それでも+50%はいけました。一応プラスですが、チームスピリットの損切りが無ければなと悔やまれます。言い出したら、インターアクションもスマレジもなんですけども。

今年も良いパフォーマンスを出したいですね。


【WordPressトラブル解決】WordPressのログインページ403エラーが出る場合の対処

$
0
0

xrea サーバーにインストールしたWordPressで、ログインしようとすると403エラーが発生するという相談がありました。

{ログイン}を押すと、403 Forbiddenエラーが発生します。

これの対処法です。

1)xreaの設定変更

こういう場合は、海外のIPアドレスを弾こうとしたが、誤作動を起こして日本のIPも弾いたというケースです。

実際に確認したら、下の設定がONになっていました(修正後の画面なのでOFFになっています)。

このONをOFFにかえます。サーバー側の設定はこれで終わりです。

2).htaccessの書き換え

次に、設置したWordPressのフォルダーにある、{.htaccess}の編集です。{wp-login.php}がある階層にある{.htaccess}です。

まずは、ログインをする可能性があるホストを調べる必要があります。多くは、現在接続しているプロバイダーのホスト情報ですね。調べるには、こちらのサイトが便利です。

このように出てきます。

()に書いているのがホスト情報です。完全一致のホスト情報を登録しないでください。プロバイダーに繋ぎ直してIPが変わるとログインできなくなります。私の場合だと、 eonet.ne.jp までで良いかと思います。

こうして出来上がったコードが以下です。

<Files ~ "^wp-login.php">
<Limit POST>
order deny,allow
deny from all
allow from eonet.ne.jp
allow from 111.111.11.11
allow from 222.222.22.22 #無制限にIPもホストも追加できます。
</Limit>
</Files>

これを{.htaccess}へ追記しサーバーへアップします。以上です。

これで{ログイン}を押した後も、ログインページがひょうじされるようになりました。

【WordPressトラブル解決】WordPressの管理画面へ、class.wp-scripts.php on line 486 のエラーが出る原因

$
0
0

管理画面を開くと、

Warning: Cannot assign an empty string to a string offset in /home/xxx/yyy/public_html/wp/wp-includes/class.wp-scripts.php on line 486

というエラーが出るという相談がありました。

こういう場合は、

  • テンプレートが原因
  • 有効化しているプラグインが原因

のどちらかです。

1)テンプレートをかえてみる

まずはテンプレートを{Twenty Seventeen}へかえてみました。WordPressの標準のテンプレートです。変化無し。

今回のエラーは、テンプレートは関係無いようです。

2)プラグインの無効化

今回のケースでは、11個のプラグインが有効化されていました。そんなに多く無いので一つずつ無効化していきます。

すると、{Simple PDF Viewer}というプラグインを無効化したところでエラーが消えました。つまりこのプラグインが原因だったということです。

このプラグインは、2年前を最後にアップデートがされていませんでした。その間のWordPressのアップデートで、対応しなくなったのでしょう。

更にプラグインを探ってみたところ、30行辺りにある下のコードが原因だと判明しました。

wp_localize_script( 's_pdf_admin_script', 's_pgf_doch', $s_pgf_doch);
	wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', $s_pgf_bttn);

多分、 $s_pgf_dochと$s_pgf_bttnの変数が空白だからエラーが生じているのでしょう。下のように書き換えたらエラーが消えました。

if($s_pgf_bttn){
	wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', $s_pgf_bttn);
}else{
	wp_localize_script( 's_pdf_admin_script', 's_pgf_bttn', array() );
}

以上。

参考になれば幸いです。

ボールペンなんてどれも同じだと思っていました。しかし、一文字書いた瞬間・・・

$
0
0

ボールペンなんて、どれも同じだと思っていませんか?かくいう私もそう思っていました。

実際、手元に多数のボールペンがありますが、満足いくボールペンは1つもありませんでした。

どれも途中でかすれたり、文字が薄かったり、手でこするとにじんだり。「ボールペンはそういうものなんだ」と不満を抱えながら、諦めていました。

そんな時に出会ったのが、エナージェルフィログラフィ

たまたまTwitterで見つけたつぶやきがきっかけでした。

私は、手持ちのボールペンに文字がかすれるという不満が日々あったのですぐにAmazonでエナージェルフィログラフィを購入。1000円少々でした。

届いたボールペンは、1000円とは思えない程、高級感が溢れる見た目でした。

写真では伝わらないかも知れませんが、1000円には絶対に見えません。

手に取ってみるとマットな手触り。重さも少し重く、質感も高級感を感じさせるものでした。

エナージェルフィログラフィはノック式ではなく、軸を回転させるタイプ。回転させるのも少し重めで、所作で出来るビジネスマンを演出できそうに感じました。

見た目には満足しましたが、実際の書き味はというと。。。

一文字書いてみた瞬間、感動!

しっかり書けるのに書き味がなめらか。これまでのボールペンでは味わえない感触でした。

これが、エナージェルフィログラフィで書いた文字。

これが、私が以前から持っており、比較的使うボールペンを3つ選んで書きました。

エナージェルフィログラフィで書いた文字は、従来のボールペンで書いた文字と比べて

  1. 同じ黒でも、しっかり発色した黒になる
  2. 力を抜いたところもかすれない
  3. インクのかたまりが出来ない
  4. そしてすぐにインクが乾いてにじまない

という特徴があります。

これらの特徴の中でも特に、「インクのかたまりが出来ず、すぐに乾いてにじまない」という点には、驚きました。

下の写真は、ボールペンで紙に丸を書き、10秒後に手でこするという実験をしたものです。

言うまでも無く、一番左がエナージェルフィログラフィです。全くにじんでいません。

私はよく、レターパックにボールペンで住所を書いた後すぐにカバンの中へ入れ、それを郵便局で取り出すと文字がにじんでいるという失敗をするのですが、今後は、そういう失敗をしなくて済みます

また、エナージェルフィログラフィは替え芯タイプのボールペンです。替え芯は、Amazonだと1本たったの60円くらい。

一度、筐体を買ってしまうと、後は100円ショップのボールペンより安いです。とても経済的です。

かすれたり、にじんだりすると、イライラする上、お客さんにも悪いと感じます。自分の為にもお客さんの為にも、エナージェルフィログラフィを愛用し続けていきたいと思いました。

XAMPPのApacheが起動しないエラーについて

$
0
0

昨日まで普通に起動していたXAMPP。それが突然、以下のようなメッセージが出て、XAMPPのApacheが起動しないエラーが発生しました。

21:51:11 [Apache] Error: Apache shutdown unexpectedly.
21:51:11 [Apache] This may be due to a blocked port, missing dependencies,
21:51:11 [Apache] improper privileges, a crash, or a shutdown by another method.
21:51:11 [Apache] Press the Logs button to view error logs and check
21:51:11 [Apache] the Windows Event Viewer for more clues
21:51:11 [Apache] If you need more help, copy and post this
21:51:11 [Apache] entire log window on the forums

原因が不明で検索したところ、こちらの記事に行き当たりましたが、どうやら原因が違うようでした。

今回のケースでは、{httpd-vhosts.conf}に記載した、ローカル環境の記述に、日本語のパスが含まれていたことが原因でした。

そういえば、起動する直前に以下のコードを追記していました。

パスを英数字に変更したところ、問題無く起動。

こういうケースはレアケースだと思いますが、私と同様のエラーに遭遇したら、念の為にチェックしてみてください。

ペアアクネクリーミーフォームでにきびが改善

$
0
0

2019年の10月頃からあごにできるにきびに悩まされていました。

原因ははっきりしていて、食生活の乱れとストレスです。しかしながら食生活や仕事環境を改善するのは難しい状況でした。

そこで、肌荒れを改善する為に医薬品を飲むことにしました。薬局に行って、「他の薬は1日2回飲まないといけないが、この薬は1日1回でOK」と説明を受けた、リボナミンLCプラスを購入しました。

2ヶ月飲んでみましたが、一時的に少し改善することがあっても、平均的に一週間に1つは新たなにきびが、あごの辺りにできました。気になってにきびを指でつぶす癖があるので、どんどん肌荒れが酷くなっていきました。酷すぎて、人前に出るのが嫌になるくらいでした。

これはまずいと思い、にきびをつぶす専用の道具を買いました。

Amazonで購入:1099円

これを使うことで、にきびをつぶしてもそんなに広範囲に肌が荒れすることがなくなりました。とは言え、根本的な解決になっていません。薬を飲むことによる改善は諦めて別の方法を探すことにしました。

探しているうちに、Amazonで口コミが良さそうなペアアクネクリーミーフォームと出会いました。

口コミを詳しくみると、全員に効くわけでは無いようでした。全然改善しないという口コミも少なからずありました。

私の場合も、食生活とストレスだと原因ははっきりしていたので、効かないだろうと思っていました。だからといって、他に方法がありませんでした。

販売元は、LIONであり信頼出来ることと、800円程の洗顔料だったので試してみることにしました。

使用感は、

  • あまり泡立たない
  • 薬っぽいにおいがする
  • 洗い終わった後に油がとれたような乾燥した感覚がある

というものでした。

2~3日使ってみると、既存のにきびが元気が無くなってきました。つまり汁っぽさがなくなり、カサカサのにきびになっていきました。

一週間経過したら、驚くことに新しいにきびができなくなった。

現在、使用して3週間程度ですが、既存のにきびが治り新しいにきびもできなくなりました。

どうやら、ペアアクネクリーミーフォームは私には合ったようです。

何ヶ月も悩まされており、人前に出るのも恥ずかしいと感じていたのに、800円程度の洗顔料で治ったのはとてもお買い得でした。

もしにきびに悩まされている方がいれば、騙されたと思って是非一度試してみてください。

【WordPress】固定ページ一覧を、カスタムフィールドの値で絞り込んで取得する方法

$
0
0

記事一覧をカスタムフィールドの値で絞り込んで取得する方法は検索すれば出てくるのですが、固定ページについては見つけられなかったので記事にしました。

今回何故、固定ページをカスタムフィールドで絞り込む必要があったのかというと、下のページのように会員一覧と会員の個別情報を固定ページで作ってしまったからです。

会員一覧
会員の詳細ページ

今回の設計としては、

  1. 会員毎に、所属地域のカスタムフィールドを設定
  2. ショートコードを地域毎に記載
  3. カスタムフィールドで絞り込まれた会員のみが、所属地域に掲載される

という方針としました。

早速コードです。以下のコードを、functions.php へ記載しました。

//会員一覧


function kaiin($atts) {

$args = array(
	'post_type'=>'page',//固定ページのみを取得
	'orderby'         => 'post_date',//日付でソート
	'order'           => 'ASC',//日付で昇順
	'numberposts'=>'-1',//取得件数に制限を設けない
	'meta_key' => 'area',//絞り込むカスタムフィールドのキー
	'meta_value' => $atts[0],//カスタムフィールドの値
);

$page_list = get_posts($args);


foreach($page_list as $page){
setup_postdata( $page );

$name     = $page->post_title;
$kubun    = get_post_meta($page->ID , 'kubun' ,true);
$url       = get_permalink($page->ID);

$print_html .= <<<EOD
<tr>
<td>{$kubun}</td>
<td><a href="{$url}">{$name}</a></td>
</tr>
EOD;

}


wp_reset_postdata();
return $print_html;


}
add_shortcode('kaiin', 'kaiin');

このコードを書くにあたって一番はまったのは、固定ページ一覧をカスタムフィールドで絞り込むにあたって、get_pages ではうまくいかなかった所です

codex には、 meta_key、meta_value が使えると書いてあったのにです

 get_pages

結果的には、 get_posts が固定ページにも対応しているということが判明したので、 get_posts を使うことにしました。

上のコードでショートコードを生成し、会員一覧ページには、

[kaiin ka]

などと記載すればOKです。

会員詳細ページで、

カスタムフィールドのキー: area
カスタムフィールドの値:ka

を設定した会員のみが絞り込まれて一覧に表示されます。

以上です。

参考になれば幸いです。

【WordPress】記事投稿で、文字列の削除や書き換えを行う方法

$
0
0

WordPressに書いた記事をそのままHTMLメールで送るという設計をしているサイトがあります。そのメールにいつもよくわからない箇所へ「?」が入るのが気になっていました。

元記事は、こちら。ソースコードは下のようになっています。

どうやら赤枠にあるスペースが原因だと思います。普通のスペースでは無いことが原因で、メール配信の際に文字化けが起こり、「?」に変換されているのでしょう。

クライアントに随時「このスペースを削除してください」というのは酷です。従って、プログラム側で何とかする必要があります。

そこで今回の設計は、

  1. 「公開」ボタンを押すと自動的に件のスペースを通常スペースへ書き換える

という方針にしました。そのコードは以下の通り。

//---------------------------------------------------------------------------
//	記事文章の変更
//---------------------------------------------------------------------------


function replace_post_data($data, $postarr){

$content = $data['post_content'];

$array = array (
 ' ' => '&nbsp;', //文字化け「?」の修正
);

$content = strtr($content, $array);

$data['post_content'] = $content;

return $data;
}
add_filter('wp_insert_post_data', 'replace_post_data', '99', 2);

$array の箇所はいくらでも追記出来るので、やりたい事に応じてアレンジして下さい。

これで記事自体から変なコードのスペースは消えました。メールからも「?」が消えて無事解決しました。

参考:https://worklog.be/archives/2108


エックスサーバーでフォルダ毎にPHPのバージョンをかえる方法

$
0
0

ドメイン全体では、PHP7系統にしているが、特定のフォルダについてはPHP5系統にしたいという場合に使える方法です。

必要になるファイルは、以下の3ファイルです。

  • php.cgi
  • .htaccess
  • .user.ini

以下、PHP5.6を「w」というフォルダで使う場合の設定です。

ファイルの作成

php.cgiの記述について

エックスサーバーのサーバーパネルから、サーバー情報>コマンドパス一覧を開きます。

その中の、PHP5.6(CGI)という項目のパスを使います。PHP7.0なら、PHP7.0(CGI)のパスです。

php.cgiというファイルを新たに作り、以下のように記述して保存します。

#!/usr/bin/sh
exec /usr/bin/php5.6-cgi

/usr/bin/php-fcgi5.6のパスを使っても問題ありません。

.htaccess の記述について

.htaccessに以下を追記して下さい。フォルダに存在しない場合は新たに作って下さい。

※下の例は「w」というフォルダでPHP5.6を動かす場合の例です。フォルダが「test」なら w を test に書き換えて下さい。

Action myphp-script /w/php.cgi
AddHandler myphp-script .php .html

.user.iniの記述について

.user.ini は、php.iniと同じ役割をします。今後、PHP5.6の設定を変えたい場合に記載して下さい。例えば、memory_limitを200Mにしたい場合は、

memory_limit = 200M

とかいて下さい。とりあえずは空白で構いません。

ファイルをフォルダへアップロード

上の3つのファイルが作成出来たら、wフォルダへアップロードしてください。php.cgiのパーミッションは忘れずに755へ変更してください。

これで問題無く、wフォルダはPHP5.6が動いています。

以上。

エックスサーバーで、フォルダ毎に違うバージョンのPHPを動かす方法を解説しました。

【WordPress】記事ページから直接ログインページへ飛ぶコード

$
0
0

このブログはWordPressで作っています。

ログインページへ飛ぶには、

https://pct.unifas.net/admin

と打てば良いです。

しかし、記事ページから、

https://pct.unifas.net/server/6337/admin

と打っても、ログインページへ飛びません。これが結構面倒で、記事を修正したいのに、わざわざログイン画面→ダッシュボードへ飛び、その後に改めて記事ページのURLを開く必要があります。

そこで、

1.記事ページを開く

2.後ろに/admin と追加してEnter

3.パスワードを入力してログイン

そうすると、直接、記事の編集ページへ飛ぶコードを作りました。

以下がそのコードです。functions.php に追記してお使い下さい。

add_action( 'template_redirect', 'my_redirect', 1);
function my_redirect() {

	$url = $_SERVER["REQUEST_URI"];
	
	if ( preg_match("@/admin$@",$url) && $url != "/admin"){
		$url_b = preg_replace('@admin$@', '', $url);
		
		$rd_url = site_url()."/wp-login.php?redirect_to=".$url_b;
		
		wp_safe_redirect( $rd_url );
		exit;
		
	}
	
}

以上です。

できるだけ時間短縮して記事を編集したいですよね。

【WordPress】unixtimeをローカライズした日付に変換し、またunixtimeに戻す方法

$
0
0

WordPressには、unixtimeをローカライズされたタイムスタンプへ変更変換する関数はありますが、そのタイムスタンプを元のunixtimeへ戻す方法は見つけられませんでした。

色々試行錯誤して、一番楽な方法を発見しましたのでメモとして書いておきます。

<?php
//京都

require_once("wp-load.php");

echo "wp_date('U'):";

$utime = wp_date('U');//現在のunixtime

echo $utime."<br />";

echo "wp_date('Y-m-d H:i:s',{$utime}):";

$ftime = wp_date('Y-m-d H:i:s',$time);//ローカライズされた日付

echo $ftime."<br />";

echo "(new DateTime({$ftime},new DateTimeZone('Asia/Tokyo')))->format('U'):";

$utime_b = (new DateTime($ftime,new DateTimeZone('Asia/Tokyo')))->format('U');//ローカライズされた日付からunixtimeへ戻したもの

echo $utime_b."<br />";

以上。

 

賢威8のカスタマイズcss

$
0
0

帯削除

水色の斜線帯の削除

/*------------------------------------------
帯削除
------------------------------------------*/

.keni-section h1{
	background-image:none;
}

.keni-container .keni-header_wrap{
	background-image:none;
}

 

文字ボタンのデザインコード

$
0
0
ボタン
.btn{
	display: inline-block;
	padding: 1em;
	border: 0;
	background: #3770ad;
	color: #fff;
	text-decoration: none;
	border-radius: 8px;
	box-shadow: 4px 4px 0px #d0d0d0;
}

.btn:hover,
.btn:active,
.btn:focus{
	background: #3498db;
	color: #FFF;
	box-shadow: 4px 4px 0px #e9e9e9;
	cursor: pointer;
}

.btn span{
	padding-left: 18px;
	background: url(https://pct.unifas.net/wp-content/uploads/2020/12/icon-btn-arw01.png) left center no-repeat;
}

.btn-b{
	padding: 25px 50px;
	background: #1f8ae5;
	font-size: 1.25em;
}

.btn-b:hover,
.btn-b:active,
.btn-b:focus{
	background: #8fc5f2;
	cursor: pointer;
}

 

Viewing all 218 articles
Browse latest View live