Warning: Declaration of FeedWordPie_Item::get_id($hash = false) should be compatible with SimplePie_Item::get_id($hash = false, $fn = 'md5') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpie_item.class.php on line 0

Warning: Declaration of FeedWordPress_Parser::parse(&$data, $encoding) should be compatible with SimplePie_Parser::parse(&$data, $encoding, $url = '') in /home/nekyo/nekyo.wp.xdomain.jp/public_html/wp-content/plugins/feedwordpress/feedwordpress_parser.class.php on line 0
オープンソース | 日々のできごと | ページ 3

「オープンソース」カテゴリーアーカイブ

カスタムフィールドの使い方

WordPress はカスタムフィールドという便利な機能があるが、ちょっと触らないとすぐ忘れてしまうので備忘録的にまとめておく。

Custom Post Type UI

カスタムポストタイプを追加できるプラグイン。例えば「商品」のようなものを投稿と同列に作ることができる。
[CPT UI] > [Add/Edit Post Types] > [Add New Post Type] で追加 / [Edit Post Types] で編集。
「商品」というカスタムポストタイプを作る場合は
Post Type Slug:product
Plural Label:商品
Singular Label:商品
の様に指定する。後はほぼデフォルトでOK。
※ 何故Plural Label とSimgular Label があるかというと英語は複数形があるため。日本語では関係ない。
Supports にチェックしたものが新規追加/編集欄で表示される。
何も表示しない場合は明示的に None をチェック。
アイコンを替えたい場合は Menu Iconダッシュアイコンクラス名 を指定する。
例えばカートアイコンを指定するなら Menu Icon
特にカテゴリーやタグを追加したい場合は Bult-in Taxonomies にチェックする。

Advanced Custom Fields

カスタムフィールドを追加するプラグイン。
[カスタムフィールド] > [新規追加] で新規追加 / [編集] で編集。
先ほど作った「商品」に「在庫数」というフィールドを追加する場合は
Show this field group ifを指定する。
[+フィールドを追加] で在庫フィールドを追加する。名前は number とか。

ユーザ一覧から選択させたい場合は、フィールドタイプ:ユーザー を指定する。
例えば上で作った商品を別のカスタムポストタイプから選択させたい場合は
フィールドタイプ:投稿オブジェクト / 投稿タイプ:product を指定する。

Admin Columns

投稿一覧画面のカラムを編集するプラグイン。
[設定] > [Admin Columns] でカスタム投稿タイプを選択して使う。
例えば商品名を表示する場合は
タイプ:カスタムフィールド
ラベル:商品
カスタムフィールド:product
フィールドタイプ:タイトル(Post ID’s)
の様に指定する。
ユーザの場合はフィールドタイプ:ユーザ名(User ID’s)になる。

カスタムポストタイプ、カスタムフィールドの使い方

こんな感じ

カスタムポスト・フィールドは遅いと聞くけれど、確かにこのやり方だとクエリーが大量に発生するので
遅くなるだろうなあ。手っ取り早いは手っ取り早いんだけれどなあ。


remove_filter

ヘッダーも何もない素のテキストを html 出力したいと思ってテンプレートを作ったけれど
勝手に改行に <br /> タグが付いたり <p> タグが付いてしまう。

そこで remove_all_filters(‘the_content’); でフィルターを削除すると
今度は Exec-PHP プラグインが効かない。(フィルターで実装してたのね。)

解決策は以下、wpautop フィルタを削除する。

これで <br /> も <p> も付かなくなったけれど、<?php … ?> は使える。
備忘録としてメモして置こう。


vtigerCRM で帳票を出力する。

ここら辺を参考にして 無料版の PDF Maker をインストール。

初回に mpdf をインストールする。

最初は「ダウンロード中だよ」みたいな吹き出しが出ているけれど、じきに消えてしまう。
https://www.crm4you.sk/PDFMaker/src/mpdf.zip から落として
~VTIGER_ROOT/modules/PDFMaker/resources/mpdf/ に展開した後リロードすると

パーミッションエラーになってしまう。

本当にインストールできるのかな?

ちなみに vtiger6.4 × PDFMakerFree_600_0_4.zip


WordPressのURLを相対パスにする

Raspberry Pi に WordPress を入れた時に困ること、
それは WordPress は中のリンクを「絶対パス」で表示してしまうこと。
IP アドレス固定の据え置き型なら、これでも何の問題もないのだが
ラズパイの様に、手軽に持ち運んで DHCP で、都度 IP が振られるような利用シーンだと
途端にスタイルシートやリンクなどが辿れなくなってしまう。

「絶対パス」を「相対パス」に置き換えるには以下の対応をする。
テーマの編集で functions.php を編集する。
ファイルの最後に以下のコードを追記する。

これでかなり持ち運びしやすくなったぞ。

その後の顛末

管理画面が絶対パスのままだった orz。こっちも相対パスにするにはフックを以下の様に修正する。

init はフロントエンドでも管理画面でも呼び出される。
wp_footer はフロントエンドでのみ呼び出される。
admin_footer は管理画面でのみ呼び出される。

その後は、まあ大体問題なく使えるけれど、余裕があるなら wp_options の siteurl と home も相対パスにしておく。
例) http://localhost/wp → /wp

参考:
http://evm-label.com/2015/04/wordpress_path01/
http://2inc.org/blog/2012/02/03/1198/
テンプレートを開いたときに読み込まれるフックと順番


RasPBXインストール

次は内線の設定とかふっておいて、フェイントで RasPBX の話。
RasPBX とは Raspberry Pi 用の Asterisk。

準備

raspberry-asteriskのサイトからイメージをダウンロード。
評価時の Leatest は raspbx-17-10-2015.zip (Raspbian(Debian8/Jessie)+Asterisk11.20.0+FreePBX12.0.76.2)
これを Win32DiskImager を使ってSDカード(4GB以上)に書込み、それでブートする。
初期状態だと DHCP でつながるので別途DHCPサーバが必要。
デフォルトでは SSHユーザ:root / raspberry、FreePBX管理ユーザ:admin / admin
RasPBXが正常起動したら SSHで接続して、コンソールから “raspbx-upgrade” を実行。
FreePBX管理画面から [アドミン▼]→[モジュールの確認]→[更新確認]→[全てのアップグレード]→[進む] で、モジュールを最新にしておく。

日本語化

AsteriskNow 同梱の FreePBX と同じ。

その後の顛末

一応、手持ちのガジェットにフリーのソフトフォン Zoiper を入れて、内線登録してみた。
接続はできているけれど、内線に掛けても相手が着信しない。(極まれにつながったりする。)
同一ネットワーク上に置いた仮想マシン上の AsteriskNow では問題なくつながるので
ネットワークの問題ではない気がする。初期型の Raspberry Pi なので遅すぎるのかなぁ。


FreePBXの初期設定

AsteriskNow をインストールすると、そのサーバーにWebブラウザからアクセスすると FreePBX 画面になる。
FreePBX は Asterisk を設定するための管理コンソール的なもの。

初期設定

先ずは初回のみいろいろ手続きが要る。
初回にアクセスすると管理ユーザ名、パスワード、メールアドレスの入力を求められるので、その値を設定する。値は覚えておくこと。
frpbx_01
入力が終わると、または二回目以降は機能選択画面になるので「FreePBX Adminisration」を選択。(一番左のメガネの人)
frpbx_02
ログインになるので最初に設定したユーザ名とパスワードでログイン。
frpbx_03
初回のみ「Welcome to your new PBX!」が表示されるので [Skip] 。
frpbx_04
frpbx_05
「Complete」をクリック
初回のみ「SIPStation Free Trial」が表示されるので [Not Now] をクリック。

日本語化

AsteriskNow は日本語を同梱しているので、設定を代えるだけで日本語を表示できる。
[Setting▼] → [Advanced Setting] の GUI Behavior ブロックの Show Language setting を True に設定。
右側に が表示されるので、それをクリック。
画面上部に [Apply Config] が表示されるので、それをクリック。
ページをリフレッシュすると、画面右上にLanguage(言語設定)メニューが表示される。
クリックして言語を日本語に設定すると、画面が日本語表示になる。

次は内線の設定。