WordPress Flash Uploader、Add From Serverなどのプラグインが使えない時に、FTPからアップロードした画像をメディアに認識させる方法

タイトル通りに、WordPressにおいてWordPress Flash Uploader、Add From Serverなどのプラグインが使えない時に、FTPからアップロードした画像をメディアに認識させる方法。

画像数が2000を超えており、かつPHPのバージョン違いのためか、WordPress Flash UploaderのSync Media Library機能で、

“Uncaught Error: Using $this when not in object context in (ファイルパス)”

とエラーが出る。wfu-sunc.phpの29行目の$thisがオブジェクトではないところで使われているとのこと。

flash uploader error

同様なプラグインであるAdd From ServerやMedia from FTPで試してみるが、Media from FTPでは全画像が登録できず、Add From Serverでは一括で登録しようとするとブラウザがクラッシュしてしまい、どうしたもんかと。

半分あきらめてたところで、Force Regenerate Thumbnailsを使う場面があり、実行してみると、なんと!!メディアに認識されているではないか!!

Force Regenerate Thumbnailsは元々はその名の通り画像のリサイズに使用するプラグインだが、リサイズ時に元ファイル以外の画像は削除するため、再度メディアに登録するのかもしれない。

何にせよ、WordPress Flash Uploader、Add From Serverなどのプラグインが使えない時は、Force Regenerate Thumbnailsで試してみるのもあり。

追記:

最近だとMedia from FTPというプラグインで同様にFTP経由でアップロードした画像をメディアに登録できる。

Media from FTP

IE11, Microsoft EdgeのみにCSSを適応させる時のメディアクエリ

IE10から従来のHTML上にif文でIEのみ対象にしたCSSを読み込ませることができなくなった模様。(正確にはHTML5を使用している時にだが)

HTML5 Parsing in IE10

よって今後はどうすればいいかというと、メディアクエリを使用する。以下IE10,IE11それぞれに適応させる時のメディアクエリ。

/* for IE 11 */
  @media all and (-ms-high-contrast:none) {
    *::-ms-backdrop, .selector {
      some-syntax: some-property;
    } 
  }

/* for IE 10 */
  @media all and (-ms-high-contrast:none){
    .selector {
      some-syntax: some-property; 
    }
  }

Edgeの場合はこちら

/* for Microsoft Edge */
@supports (-ms-ime-align:auto) {
  .class-name {
    some-syntax: some-property;
  }
}

以下の記事を参考:

Targeting IE10 & IE11 Browsers with CSS

CSS Hacks for Windows 10 and Microsoft’s Edge (Formerly Spartan) Web Browser

MagentoでCSSを適用する

MagentodでオリジナルテーマでCSSを適用する場合

フォルダ構成は以下のようになってる

Default_head_blocks.xmlに

<css src="css/test.css"/>

を追加。

そして気をつけるべき点は、モジュールのディレクトリ名はMagento_モジュール名にすること。CSSを読み込むためのモジュールは

Magenta_Theme

である。

CSSファイルがない場合は自動でlessファイルを参照しサーバー側でコンパイルしてくれる。

BitbucketでSSHキー設定をしてGitにリモートサーバーに登録してプッシュしようとしても”repository access denied. access via a deployment key is read-only”とエラーが出る

BitbucketでSSHキー設定をしてGitにリモートサーバーに登録しても”repository access denied. access via a deployment key is read-only”とエラーが出る件について。

BitBucketではSSHキーをユーザーアカウント自体と各レポジトリ毎に設定できる。そして各レポジトリ毎に設定したものはDeployment Keyといって、Read onlyのため要注意。

Pushも可能なWrite権限を作成するには、ユーザーアカウント設定のところでSSHキーを設定すること。

右上のユーザーアカウントアイコンをクリックして、Bitbucket Settingsをクリック、左側のメニューにSSH Keyのメニューがあるのでそこから登録する。

最近はGit初心者向けの書籍も充実してきてて、この本とか取っ付きやすく分かりやすそう。評価も高い。

GoogleスプレッドシートでVLOOKUP関数で別シートを参照する(importrangeと併用の仕方)

Excelとは違い、Googleシートで別シートの情報をVLOOKUP関数で取り込む時はimportrange関数を使う必要がある。

まずはVLOOKUPの基本から。VLOOKUPの使い方自体はExcelと同じ。

F2からI20の範囲の中の2列目の値を、同じシート内のC4の値を参照して該当する情報を取得する場合。

VLOOKUP(C4,$F$2:$I$20,2,FALSE)&””)

ポイントはコピー&貼り付けでも参照範囲が変わらないように$を付けること。末尾の&””は参照先に値が入ってない時に0を返さないようにするためのもの。

Excelの場合他シートを参照する場合は、

VLOOKUP(C4,ToDo!$F$2:$I$20,2,FALSE)&””)

と参照先の範囲指定の目に「シート名!」を付けるだけでできるが、グーグルスプレッドシートの場合は少しややこやしく、importrangeを使う。

Importrange(インポート先のシートのURL, シート名!参照するセルの範囲)

という引数の取り方をする。インポート先のシートのURLはシート右上の「シェア」のボタンをクリックして表示されるURLを使うのが一番確か。URLをコピーするだけでシェアする必要はなし。

(※画像は英語表示)

URLをコピーしたら使い方は以下のようになる。

VLOOKUP(C4,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$F$2:$I$20″),2,FALSE)&””)

エラー値、#N/Aを返さないようにするためにIF関数を加えると下記のようになる。

=IF(ISERROR(VLOOKUP(C4,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$A$1:$Z$100″),2,FALSE)),””,VLOOKUP(B2,importrange(“https://docs.google.com/spreadsheets/d/1XHDDGDoV-ec9vZDDjp6UYLn_cfoyNiSgX_B1xnEQLTA/”, “ToDo!$F$2:$I$20″),2,FALSE)&””)

ちなみに同じ行から複数列ではなく、他シートの1セルのみを参照したいだけの時はVLOOKUPは使わずimagerangeだけを使えばオーケー

Importrange(URL, C4);

Googleスプレッドシートの書籍はそんなにないけど、下の仕事で使えるシリーズのはさくっと調べられて活用しやすいからおすすめ。

https://support.google.com/docs/answer/3093340?hl=ja

Excelで「〜を開くことができません。インターネットサーバーまたはプロキシサーバーが見つかりません。」と表示されるのはhttpsだから

Excelでhttps://から始まるドメインのハイパーリンクを開こうとすると下記の画像のようにエラーが出てリンク先に飛べない。

httpsを開くことができません。インターネットサーバーまたはプロキシサーバーが見つかりません。

リンクがhttpだと正常に飛べるので調べてみると、Windowsの場合はレジストリの操作で直るらしい。

Excel – Unable to open https// <<PATH>> Cannot download the information you requested -— How to disable

そもそもWebサイト側が第三者機関からしっかりとしたSSL認証を受けていないためにエラーで飛べないとの情報もある。

Excel 2011 hyperlinks not working – error Unable to open XXXXX. Cannot locate the Internet server or Proxy Server

Excel for Macの場合は解決策が見つからず。Webサイト側でたいていhttpからhttpsへのリダイレクト設定をしているので、Excel側のリンクからhttpsのsをなくしてhttpにすれば正常にジャンプできると思われる。

置換の機能を使えば一括でhttpsからhttpへ変換できる。

Excel 一括置換

最強のエクセル使いになるにはこの本がよさげ