Archives by 0

テーマを切り替えて表示の確認ができるプラグイン

テーマファイルを切り替えて実際のサイトで表示の確認ができるプラグイン「Theme Switcha」
これがとても機能豊富で便利なんです。

クライアントから上部にナビゲーションがあるデザインとサイドにナビゲーションのあるデザインの
2種類を見てみたいというような依頼があった時に、一つのサイト内でテーマを切り替えることで表示の違いを確認してもらうことができます。

また、テーマの切り替えを権限によって制限することができるため、実際に運用中のサイトでもテーマの表示確認ができます。
 

使い方

  1. プラグインをダウンロードしてくる。
  2. /wp-content/plugins/ディレクトリにアップロード。
  3. プラグイン設定画面で有効化。
  4. 設定画面で「Enable theme switching」にチェックで使えます。
ツールバーにデザインの切り替えメニューを追加するかどうか、ユーザー権限による制限など設定画面で調整できます。



ログインしていないユーザーにもテーマの切り替えを許可する場合は、Allowed Usersの項目を「Everyone」にしておいて、表示切り替え用のリンクを設置しておきます。

 https://www.example.com/?theme-switch=テーマフォルダ名


このリンクでテーマファイルの表示切替が可能です。


 

WooCommerce PDF Invoices & Packing Slips日本語対応(フォント追加)

自分のハンドメイド作品の販売サイトを作ろうと、WooCommerceプラグインを使って準備をしています。
ちょっと格好つけて納品書とかPDFで出力したいなと思い、よいプラグインはないかなぁと探しているとWooCommerceにインボイス・納品書PDF出力をつけられるプラグイン見つけました!

めっちゃ便利でよくできてるプラグインなんですが、なんと日本語フォントに対応していない…。

調べるとプラグインのサイトにフォントの追加方法があったので日本語フォントを追加する作業をしてみました。

参考:Using custom fonts
 

1.プラグインフォルダ内のテンプレートフォルダを使用中のテーマファイルにコピーする

wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/Simple
↓コピー
/wp-content/themes/使用中のテーマフォルダ/woocommerce/pdf/Simple-Custom
 

2.コピーしたフォルダ内にfontsフォルダを作成して使用したいフォントファイルを入れる

/wp-content/themes/使用中のテーマフォルダ/woocommerce/pdf/Simple-Custom/fonts
に無料で使える日本語フォントのIPAexフォントを入れました。

今回ゴシック体だけを使用するので、fontsフォルダにipaexg.ttfだけ入れました。
 

3.style.cssで使用したいフォントを指定する。

/wp-content/themes/使用中のテーマフォルダ/woocommerce/pdf/Simple-Custom/style.cssに
下記のように使用したいフォントについて追記します。

/* Load font */
@font-face {
    font-family: 'ipaexg';
    font-style: normal;
    font-weight: normal;
    src: local('ipaexg'), local('ipaexg'), url(<?php echo $this->get_template_path(); ?>/fonts/ipaexg.ttf) format('truetype');
}
@font-face {
    font-family: 'ipaexg';
    font-style: normal;
    font-weight: bold;
    src: local('ipaexg'), local('ipaexg'), url(<?php echo $this->get_template_path(); ?>/fonts/ipaexg.ttf) format('truetype');
}


その下にあるbodyのフォント指定を変更します。
body {
font-family: 'ipaexg','Open Sans', sans-serif;
}

これで日本語部分も正常に表示されるようになりました!

password-protectedでサイトトップだけパスワード保護を除外する

サイト全体に簡単にパスワード保護をつけられるプラグイン「Password Protected」。
サイトの入口になるフロントページのみ保護から除外したいという依頼があり対応しました。

設定画面ではその項目がないので、プラグインに直接手を入れました。
なのでプラグインのアップデートの際は都度変更が必要です。
もっといい方法があれば教えてください。

READ MORE

access住所分割メモ

フィールド準備

・住所(元データ)
・都道府県(必要な項目)
・市区町村(必要な項目)
・番地以下(必要な項目)
・都道府県以外(抽出に使う為)
・数字のみ(抽出に使う為)
 

都道府県とそれ以外に分割

都道府県
Switch(Mid([住所],3,1) In("都","道","府","県"),Left([住所],3),Mid([住所],4,1)="県",Left([住所],4))

都道府県以外
Replace([住所],Nz([都道府県],""),"")
 

市区町村と番地以下に分割

数字のみ
Eval(Replace(Replace(Format(StrConv([都道府県以外],8),Replace(String(Len(StrConv([都道府県以外],8)),"&"),"&","{&}")),"{","Choose(Asc('"),"}","')-47,0,1,2,3,4,5,6,7,8,9)&") & "''")

市区町村
Left([都道府県以外],InStr([都道府県以外],Left([数字のみ],1))-1)

番地以下
Mid([都道府県以外],Len([市区町村])+1)
 

おまけ:郵便番号7桁を3桁-4桁に

Left$([郵便番号],3) & "-" & Right$([郵便番号],4)

参考:

MW WP Formの問合せデータの並び順を項目順に変更する

データ蓄積型の問い合わせフォームプラグイン「MW WP Form」
とっても便利なのですが、問い合わせデータをCSVでダウンロードすると、項目名のabc順に並び変えられて出力されます。
これの並び替えをせずに、項目順に出力されるように変更しました。

※プラグインの本体を修正するので、アップデート時には注意が必要です。

READ MORE

ファイル/ディレクトリのパーミッションを一括変更

すぐ忘れるのでメモ
find /path/to/dir -type d -exec chmod 755 {} +
find /path/to/dir -type f -exec chmod 644 {} +

プラグインを使わずにカテゴリ別のアーカイブリストを出力する

Archives for a categoryが削除された為、
プラグインを使わずにカテゴリ別のアーカイブリストを出力するメモ。

READ MORE

パスワードはそのままmd5からpassword_hashの利用に変更する

今更ながら…メモ
使用しているパスワードはそのままで保存されているパスワードのハッシュをpassword_hash()に変更する。

 
$password = $_POST["password"];
 
if (substr($pwInDatabase, 0, 1) == "$"){
 
    //すでにpassword_hashで登録されているので、そのまま照合
    return (password_verify($password, $pwInDatabase)); 
 
}else{
 
    //まだmd5で保存されている
    if(md5($password) === $pwInDatabase){
 
	//照合OKならデータベースのパスワードを更新する
        $new_hash = password_hash($password,PASSWORD_DEFAULT);
        //DBのパスワードを$new_hashで更新
 
        return true;
 
    }else{
        return false;
    }               
}

参考:
https://stackoverflow.com/questions/18906660/converting-md5-password-hashes-to-php-5-5-password-hash

IPAmj明朝フォントでスペースが文字になるとき(TCPDFでPDF出力時)

戸籍統一文字などに含まれる6万字の漢字を収録したフリーのフォントIPAmj明朝フォント。
ありがたく使わせていただいております。
これがフリーで使えるなんて、本当にすごいことです。

TCPDFにこのフォントを追加し、氏名を出力した際に姓と名の間に「全角スペース」を入れていたのですが、それがほかの文字に置き変わってPDF出力されてしまいました。

例えばこのような感じです。
大阪 太郎 様⇒大阪の太郎の様、大阪ー太郎ー様

解決策は単純でした。
全角スペースを半角スペースにするだけで、正常にスペースとして出力されました。

それだけ!

TCPDFでMulticellの正確な行数を取得する方法

久しぶりにはまりました。
TCPDFを使ってPDFを出力する際に、複数のMulticellの高さを合わせるために、
各セルの行数から最大値を取得したかったのですが、
TCPDFで用意されていたgetNumLines()やgetStringHeight()を使ってセルの行数や高さを取得すると何故か数値が安定せず。
どうやら改行を含むと正しく数値が取得できないようです。

どうしたものかとググって解決策見つけました!
ありがたやありがたや。
READ MORE