現役プログラマのWordPressカスタマイズ相談

WordPress(ワードプレス)のお悩み、うまくいかなくてお困りなこと、不具合調査、新規制作依頼まで、ウェブアプリケーションエンジニアがあなたをサポートします。

Cloud9 でPHP7をインストールする手順

f:id:jsaz:20160924013847p:plain
少し前まではWindowsパソコンで開発環境といえばXAMPを設定して使っていましたが、最近はCloud9を使っています。
ちょっとした調査や検証は「新しくworkspaceを作り、確認したら削除する」といった使い方もよくしております。

今回はPHPフレームワークの「CakePHP3.2」と「laraval5.3」をインストールしたかったのでPHP7をインストールする必要がありました。

cloud9のデフォルトPHPは5.5.9でしたので、PHP7へアップデートしてみたいと思います。


参考サイトは英語と日本語の2つのサイトです。
community.c9.io

qiita.com


※コマンドと結果も記載していますので長文になります。


[PR]PHP7の基本構文から、クラス、DB連携、セキュリティ対策まで、しっかり習得!

PHPバージョン確認
cloud9:~/workspace $ php -v
PHP 5.5.9-1ubuntu4.19 (cli) (built: Jul 28 2016 19:31:33)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.4.1, Copyright (c) 2002-2016, by Derick Rethans
続きを読む

WPプラグイン「Event Organizer」のイベントカレンダーにカスタムフィールドを表示する

f:id:jsaz:20160917114514p:plain:w450

WordPressプラグイン「Event Organizer」をお使いのお客様より、カレンダー表示の際にカスタムフィールドを出力させたいというご相談を受け調査しました。


ご相談内容はこんな感じです。

● 「Event Organizer」を使いイベントを作成する際にカスタムフィールドを設定している
● そのカスタムフィールドをイベントカレンダーを表示する際に表示させたい
● テンプレートは特定できているが、表示方法がわからないので教えてほしい

私も初めて触ったプラグインだったのでメモがてら作業内容を残しておきます。

続きを読む

Image Sharing Scriptのカスタマイズ

f:id:jsaz:20160725232611p:plain


imagesharingscript.com

Image Sharing Scriptという画像共有サービスを展開できるPHPの有料スクリプトがあるようです。


一般ユーザーによる画像のアップロード、閲覧、管理画面での画像の管理が主な機能です。
pinterest(ピンタレスト)によく似ています。
今回はそのような画像共有サービスを運営されているお客様からのお問い合わせです。


画像一覧ページに各画像(投稿されて画像)のファイルサイズを表示したいというご要望でした。
まず既存のテーブルに「画像の横幅」「画像の高さ」「画像の容量」のカラムがないため、カスタマイズする必要があります。
DBはMySQLだったので"ALTER TABLE" を使いテーブルの拡張を行います。

ALTER TABLE posts ADD img_width int(11) NOT NULL DEFAULT 0 COMMENT '画像 横幅';
ALTER TABLE posts ADD img_height int(11) NOT NULL DEFAULT 0 COMMENT '画像 高さ';
ALTER TABLE posts ADD img_size BIGINT NOT NULL DEFAULT 0 COMMENT '画像 容量';


次に画像登録時にファイルサイズや幅、高さの取得です。
$uploadedimage はPOSTで渡ってきた画像ファイルが入りますので、getimagesize()の結果をUPDATEすればOKです。

$uploadedimage = $_FILES['postimage']['tmp_name'];
:
:
$theimageinfo = getimagesize($uploadedimage);
:
:
//image file size
$img_size = filesize($uploadedimage);
//image file width
$img_width = isset($theimageinfo[0]) ? $theimageinfo[0] : 0;
//image file height
$img_height =  isset($theimageinfo[1]) ? $theimageinfo[1] : 0;
//UPDATE
$query="UPDATE posts SET img_size={$img_size}, img_width={$img_width}, img_height={$img_height} WHERE PID = {$id}";
$result_upd =$conn->execute($query);

Image Sharing Scriptの表示にはsmartyが使われています。
中カッコを使い変数をセットするだけです。


せっかくお金を出して購入したシステムでも自分の思い通りにならなければ勿体ない買い物になってしまいますよね。
著作権等で問題のないシステムに関しては改修・カスタマイズを承っております。

ご依頼いただいたお客様には大変満足してもらいました。
私もImage Sharing Scriptを使ったサービスが軌道にのれば良いなと陰ながら応援しております!

NAVER韓国語APIをWordPressショートコード化

f:id:jsaz:20160719232443p:plain

 

韓国語のサイトを運営されている方からのご依頼です。

単語の発音を韓国NAVERが提供するAPIで実現させたいというご希望でした。

http://www.happycgi.com/15663

 


運営サイトはWordPressを使われています。
管理画面から韓国語単語を入力して画面にAPIを表示させたいとのことです。

 


カスタムフィールドを設置し、そこにハングル文字を入力し、表示時にAPIを経由させる形でご提案しようと思いましたが、
修正ファイルが増えるため(合わせて確認作業も増えてきます)
ショートコードを使った方法でのご提案をしました。

 

ショートコードだとデザイン(レイアウトや配置)を投稿者が自由に決めることができるというメリットもあります。
カスタムフィールドだと決まった形で決まった場所にしか出力できません。

 

 

本文中にショートコードを埋め込んでもらい、引数にハングル文字を設定してもらいます。
サイト側ではaudioタグで出力します。

<audio src="/API.php?keyword=XXXXXXX" preload="auto" />

管理画面より設定した引数のハングル文字がURLエンコードされた形でXXXXXXXの部分に出力されます。

 

 

API.phpは固定でWordPressフォルダ直下に配置しました。
GETパラメータでPHPを呼び出す形にしています。

 

どうやってサイト上にプレイヤーを表示させるか悩みましたが、
単純にヘッダーとechoで出力しています。

Header("Content-type: audio/mpeg");
echo curl_exec($ch);

 

requireやincludeを使うと遷移してしまいプレイヤー表示がブラウザ全面となってしまいました。
curlで取得しているので、出力もシンプルに考えるのが良いようです。

 


最初にご相談をいただいてから1週間ほど要望・仕様のやり取りを行いました。
ある程度の確認検証も取れていたため、正式なご注文後2日程で完成、確認をいただきました。


このような感じでWordPressのショートコード作成も承っております。
ご相談と仕様のまとめは無料ですので、お気軽にお問い合わせください。

お問い合わせはこちらから。

楽天APIを使ったWordPress自動投稿スクリプト

 楽天ウェブサービス(通称RWS)を使った商品データを元にしたWordPress自動投稿スクリプトの開発

f:id:jsaz:20160713070624j:plain

 

 

販売中の自動投稿スクリプトをカスタマイズする形で提供しました。

wordpress-help.stores.jp

 

仕様はこんな感じです。

 

・商品データ
楽天商品検索API (version:2014-02-22)

・1回の投稿で指定された数の記事を投稿する

・条件を満たすまで次のレコードを取得し続ける

・同じ商品を記事にしない(重複判定処理)
→WorePress post_nameを使用(slug)

ソースコードにはコメントを記載

・お客様自身が件数やカテゴリを変更したい

 

ヒアリングから仕様まとめ、調査までを約3日、作業が3日というスケジュールでした。

Cronで定期実行しておりますので、RSSが取得できる限り永久に記事が増えていきます。

 

気になる方はぜひお問合せください。