あぷりけーしょんの内部的なもの

Program, Wordpress

PHP7.2にして、Wordpressを動かして見ると、

count(): Parameter must be an array or an object that implements Countable in …(ファイルパス)/wp-includes/post-template.php on line 284

なワーニングメッセージが。

調べてみるとPHP7.2 になって count関数 が変わった模様。
PHP 公式マニュアル

バージョン 説明
7.2.0 count() will now yield a warning on invalid countable types passed to the array_or_countable parameter.

引数が配列かカウントできるオブジェクトじゃないとワーニングを出しますよー。
ってことになったらしい。

で、件の post-template.php では

if ( $page > count( $pages ) ) // if the requested page doesn't exist
	$page = count( $pages ); // give them the highest numbered page that DOES exist

と $pages がどんなオブジェクトがわからないまま、count関数の引数に使われているのでワーニングが出た模様。

$pages が空(NULL)の場合にワーニングが出るので、count関数を使う前に$pagesが空かどうかのチェックを入れればOK。
空の場合は0を入れてあげます。

if ( ! empty( $pages )) {
    if ( $page > count( $pages ) ) // if the requested page doesn't exist
    	$page = count( $pages ); // give them the highest numbered page that DOES exist
} else {
    $page = 0;
}

コンピュータプログラムの世界では 空(NULL) = 0 かどうかか環境依存だったりするので、ややこしいですね。



ひとまず該当箇所を修正して、ファイルを上書きすればワーニングは出なくなります。

Google / Android, Program


スプレッドシートの関数で引数の文字列にダブルクォーテーション(“)を使いたい場合のメモ。

文字列括りはダブルクォーテーションのみ

他プログラム言語ではシングルクォーテーションも文字列のくくり文字として使えるケースがありますが、Googleスプレッドシートでは使えません。

またバックスラッシュや、二回続けて入力する等のエスケープ方法も使えません。

ダブルクォーテーションを出力する関数

直接ダブルクォーテーションが入力できないのであれば、ダブルクォーテーションを出力する関数を使えばOKです。

ユニコード表に従って、数値を文字に変換する CHAR() 関数が使えます。
ダブルクォーテーションを出力するには「 CHAR(34) 」です。

そのほかの引数の数字と出力される文字の対応は下記サイトで確認できます。
[ Using the CHAR Function in a Google Docs™ Online Spreadsheet – aubrett.com ]

文字列連結関数 Concatenate を使う

文字列の連結には「&」を使った連結もできますが、個人的には連結関数の Concatenate 関数を使うほうがわかりやすい。
ネックは Concatenate って関数名が長いくらいw

exp)セルA1に入っているHTMLデータの中から正規表現を使ってAタグので指定されているURLを取得する

=regexextract(A1,concatenate("<a href=",char(34),"(.*?)",char(34),".*?>"))



参考サイト
[ GoogleスプレッドシートのCONCATENATEでダブルクォーテーションを使う – dackdive’s blog ]

Program

CSVファイルを読み込んでHTMLテーブルを作ってくれるjQueryプラグイン『jquerycsvtotable』
(IDEA*IDEA)

さらに秀逸なのはloadComplete時に別のプラグインを呼び出せる点。テーブル系のプラグインは多いですからね。こうしてテーブルに整形したあとにソート用のボタンを付けるプラグインなどを呼び出すとすっごい便利かも。

ほうほう。
すぐに使う機会は無いが、メモっとこ。

Program

target=”_blank” を使わないで新しいウィンドウでリンクを開く方法
(memo.xight.org)

target=”_blank” を使わないで新しいウィンドウでリンクを開くための手法. Behaviour.js を利用すればより簡単,かつHTMLを汚さずに実装可能.

いろいろ方法はあるようだけれど、Behaviour.jsを利用する方法をとってみた。

一番苦労したのがbehaviour.jsを入手することだったりw
公式のはずの
[ Behaviour ]
が 404 not found なもんで、正式なファイルが見つからず・・・。結局引用元で利用していたファイルを拝借しました;;



さて、これから過去記事の target=”_blank” の置換をするか…。

Program

フォームのフリガナを自動入力させるAutoRuby.js
(ホームページ制作・運営のヒント) from [>>phpspot開発日誌]

変換候補を選択する毎にふりがなが追加されるとか、FEP独自機能の推測変換機能などで入力されるとふりがなに反映されない、とか実装としては微妙ではあるが、試みとしては面白いかも。

これはこれとして、メンバー登録や問い合わせのページで名前のふりがなを入力しなければならない機会は結構あるのだが、正直なところ入力するのはいいがフリガナを必要とすることが一体どれだけあるのか疑問。
フリガナ…つまりは名前の読み方が必要になる事ってあまり無いような気がするんだけどなー。