WordPress雑記帳 ITかあさん

ITかあさん

WordCamp Tokyo 2013の開催が決定したようだ

WordCamp Tokyo 2013の開催が決定!

WordCamp Tokyo2013の開催が決定したみたいだ!

9.14(土)開催

ITかあさんも行く!今年は絶対行く!
(去年は娘の保育園最後の運動会とかぶって行けなかった・・)

WordCamp Tokyo 2013スタッフ募集しているよ

何でもするので、仲間に入れて下さい

スタッフの応募もしてみた。きっと熱意は委員長のメガネさんにも届いたはずだ。

WordPressのゲスト投稿(フロントエンド)から複数画像のアップロード

ゲスト投稿から画像アップロードするには

WordPressの管理画面ではなく、表画面(フロントエンド)から画像をアップロードする方法はこちらが参考になります。

で、今回はこちらを参考に複数画像のアップロードにチャレンジしてみようかと。

functions.php

functions.phpに以下の記述を書きます。3つのファイルの呼び出しをあらかじめしないとだめなようです。

function insert_attachment($file_handler,$post_id,$setthumb='false') 
{
    // check to make sure its a successful upload
    if ($_FILES[$file_handler]['error'] !== UPLOAD_ERR_OK) __return_false();
     
    require_once(ABSPATH . "wp-admin" . '/includes/image.php');
    require_once(ABSPATH . "wp-admin" . '/includes/file.php');
    require_once(ABSPATH . "wp-admin" . '/includes/media.php');
    $attach_id = media_handle_upload( $file_handler, $post_id );
    if ($setthumb)
        update_post_meta($post_id,'_thumbnail_id',$attach_id);
    return $attach_id;
}

複数画像アップロードするためのループ。

global $post;
if ($_FILES) {
    $files = $_FILES['upload_attachment'];
    foreach ($files['name'] as $key => $value) {
        if ($files['name'][$key]) {
            $file = array(
            'name'     => $files['name'][$key],
            'type'     => $files['type'][$key],
            'tmp_name' => $files['tmp_name'][$key],
            'error'    => $files['error'][$key],
            'size'     => $files['size'][$key]
            );

            $_FILES = array("upload_attachment" => $file);

            foreach ($_FILES as $file => $array) {
                $newupload = insert_attachment($file,$post_id);
            }                                   
        }
    }
}

表側

表側はテーマファイルの好きなところにフォームタグを書いてあげればいいと思います。

<form action="" method="post" id="profile-edit-form" class="standard-form" enctype="multipart/form-data">
 <!--複数画像をアップロードするためのmultiple。nameは配列になるよう、[ ]を忘れない-->   <input type="file" name="upload_attachment[]" multiple="multiple" accept="image/*">
<div class="submit">
<input type="submit" name="profile-group-edit-submit" id="profile-group-edit-submit" value="保存 "/>
</div>
</form>

なお、上記はHTML5対応のmultipartなので、それ以外の場合はこのように複数書いてもOKです。

<input type="file" name="upload_attachment[]">
<input type="file" name="upload_attachment[]">
<input type="file" name="upload_attachment[]">

大変だ!アイキャッチが投稿した画像のうち、一番最後の画像だ!

すみません、こちらの記事を書いていて後で気がついたのですが
update_post_metaがループ中に実行されているため、4枚画像が登録されていたら最後の画像がアイキャッチになって当然ですね。

update_post_meta($post_id,'_thumbnail_id',$attach_id);

でも、ラジオボタンか何かでアイキャッチで選ばせるのも分かり難いですし、やはり1番最初の画像がアイキャッチになるのが分かりやすいと思います。
しかも、4個画像のフォームがあって うっかり2個目のフォームから画像を登録する暴挙に出るユーザーがいないとは限りません。
そこで、これはこれとして画像がPOSTされたら、画像の配列を逆順にソートかければよいのでは?と考えました。

そんな訳で修正版 フォームからの複数画像のアップロード

global $post;
if ($_FILES) {
$files = $_FILES['upload_attachment'];
/*画像が渡されたら逆順でソートを行う*/    
arsort($files['name'],SORT_NUMERIC);
arsort($files['type'],SORT_NUMERIC);
arsort($files['tmp_name'],SORT_NUMERIC);
arsort($files['error'],SORT_NUMERIC);
arsort($files['size'],SORT_NUMERIC);
    
    
    foreach ($files['name'] as $key => $value) {
        if ($files['name'][$key]) {
            $file = array(
            'name'     => $files['name'][$key],
            'type'     => $files['type'][$key],
            'tmp_name' => $files['tmp_name'][$key],
            'error'    => $files['error'][$key],
            'size'     => $files['size'][$key]
            );

            $_FILES = array("upload_attachment" => $file);

            foreach ($_FILES as $file => $array) {
                $newupload = insert_attachment($file,$post_id);
            }                                   
        }
    }
}

ふ~、危なかった!こんな感じでどうでしょうか?

WordPressで連続改行をPHPのnl2br関数を使って実装する

WordPressで連続改行をPHPのnl2br関数を使って実装する

WordPressでは連続改行は出来ないのですね、知りませんでした(えっ!?)
もしかしたら完璧ではないかもしれないけど

PHPの\nをbrタグに変換するnl2br関数を使うとちょっといい感じ

っぽいのです。『たぶん出来るんじゃね?』的な軽いノリでやってみたら、プラグイン使わずに出来ました。

実行例

ここではthe_contentを使わずに、一度変数化させるのがポイント。
<?php $text = $post->post_content; ?>
<?php echo nl2br($text); ?>

軽くやってみただけなんで、間違ってたらすみません。

WordPressをPostgreSQLで使いたいゾウ!

WordPressをPostgreSQLで使いたいゾウ!

WordPressをPostgreSQLで使いたいゾウ!

今回のミッション:WordPressをPostgreSQLで使いたい

WordPressは以下のような環境を推奨されていますが、元々PostgreSQLで構築されたWEBサイトの中にWordPressを突っ込みたかったというのがそもそもの理由でして、基本的にはWordPressの推奨環境を使うようにしてください。
普通のWEBサイト作る上でPostgreSQLだろうが、Mysqlだろうが大差はないです。

WordPressの推奨環境

PHP バージョン 5.2.4 以上
MySQL バージョン 5.0 以上

ITかあさんの作業環境

PHP バージョン 5.2.4
PostgreSQL バージョン 8.4.3
WordPressのバージョン 3.4.2

WordPressでPostgreSQLが使えるプラグインPostgreSQL for WordPress (PG4WP)

WordPressでPostgreSQLが使えるようになる便利なプラグインがすでにあるようです。
このプラグインをダウンロードして、wp-content/pluginsフォルダに設置します。

PostgreSQL for WordPressのシークレットキー取得

こちらにアクセスをし、表示された内容をコピーします。
※こちらは例です。必ずアクセスしてシークレットきーを取得してきてください。

define('AUTH_KEY',         '$q2|DZ8K.U:mN^-E9(1Wb9[O*MU:%YT,PsKDrp8AyrDXW>e5a!uh,w||$/<6>>43');
define('SECURE_AUTH_KEY',  'V%[^r5P&$:)b9Hy$p-Re1>jKowpo#@XC|vjYoJ6WZ$LgQ_;KgA5p!jB8Sgo(OY;W');
define('LOGGED_IN_KEY',    '.ECIp#x6hd/LHiNN3{P(9ijCzwG%x|46m93qJ&Dq//%)b K3Va|gJKG]2Hv!+,R-');
define('NONCE_KEY',        'r[!P_U,W=^;-&D0`cYPR)%{>xIq?Y8).%)CS6I>i>EUfZyu)iJPCBK5Zj(`*9j#M');
define('AUTH_SALT',        'r8,?%:O==|Q9CJx<V_73-i&l5,})zDr4.|60Y;[?3>S!vg:c%G9DQN;D5j:RxYMj');
define('SECURE_AUTH_SALT', 'Pf6|FT/gc=VE]cv=+tfMI_,o*[?FI<^<W$~DUeu@lS]nii1b{nkx}b%+v``hSf!/');
define('LOGGED_IN_SALT',   'a-.Y(/NWO{,gh@5mc|mQR15S~HUe3|!|H<GAe-#UZZA.6rfE`2l0hS_~,G<}|)OM');
define('NONCE_SALT',       'WPeqaoWMUoO0.s7Z?mDC=YJr|`;|^j/ADtDJIz~/[OiflgVVUzo;J]v#w-8.ZE])');

wp-config.phpを編集

いつもなら自動で生成しているwp-config.phpですが、今回はさきほどのシークレットキーを記入する関係で手動で作成します。

define('DB_NAME', 'wordpress');
define('DB_USER', 'postgres');//postgreユーザー
define('DB_PASSWORD', '');//パスワードは空
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');

// 以下はさきほどのシークレットキーをコピペする
define('AUTH_KEY',         '***');
define('SECURE_AUTH_KEY',  '***');
define('LOGGED_IN_KEY',    '***');
define('NONCE_KEY',        '***');
define('AUTH_SALT',        '***');
define('SECURE_AUTH_SALT', '***');
define('LOGGED_IN_SALT',   '***');
define('NONCE_SALT',       '***');

プラグインフォルダのdb.phpを編集

以下のように編集して、wp-contentフォルダ直下にdb.phpを設置します。

//db.phpの25行目あたりをtrueに変更
define( 'PG4WP_INSECURE', true);

ブラウザからインストール実行

後はいつも通りのインストールと全く一緒です。
WordPressお馴染みのインストール画面

お馴染みのインスト画面も出てきましたね。

インストールされたPostgreSQLのデータベースを確認

インストールされたPostgreSQLのデータベースを確認

インストールされたDBを確認すると、お馴染みのテーブル構造が出現しています。
無事インストールできたようです!

初めてのことでドキドキしながらチャレンジしてみましたが、現時点の最新WordPressで問題なく動作を確認出来ました!
基本はMysqlなので、あまりオススメしませんが、どうしてもPostgreSQL環境じゃなきゃダメって時にはぜひ!

WordPressのマルチサイトをブログポータル化するプラグインMulti Site Category作った

WordPressのマルチサイトをブログポータル化するプラグインMulti Site Category作った!

ご無沙汰してます、半月ほとブログ更新をお休みしまして、この度人生初のWordPressプラグインを作ってみました。

ITかあさんプラグイン処女作、Multi Site Categoryとは

これだけブログ内でもWordPressネタやっているんだから、いい加減プラグインの一つでも作ってみますかな、ということで作ってみました。
WordPress3.xより、メインブログの下に子サイトを持たせるマルチサイト化の機能が搭載されましたが、どうせなら

マルチサイトをカテゴリーごとに分類したい!そしてブログポータルを作ってみようじゃないか!

と、いう方には最適なプラグインになっている・・・はず。


任意でサイトをカテゴリー分類して、子サイトの最新記事を、更新順に表示します。

Multi Site Categoryの使い方

それではMulti Site Categoryの使い方を説明いたします。使い方はとっても簡単です。

なお、Multi Site Categoryはマルチサイト化されていることが大前提となっております。

1.Multi Site Categoryを有効化する

とにもかくにも『ネットワークで有効化』してください。
ネットワークが有効化されると、

wp_blogs_type
wp_blog_category

この2つのテーブルが生成され、さらに WordPressの固定ページで『Blogs』ページが追加されます。

もし何らかの不具合でこの2つのテーブルが生成されない場合(Mysqlのユーザーの権限の問題かと・・)
以下のSQLをphpMyadminなどから実行して下さい。

wp_blogs_typeテーブルを生成するSQL

CREATE TABLE wp_blogs_type (
id int(11) NOT NULL AUTO_INCREMENT,
category_id int(11) NOT NULL,
blog_id int(11) NOT NULL,
PRIMARY KEY (id)
)
CHARACTER SET ‘utf8’

wp_blog_categoryテーブルを生成するSQL

CREATE TABLE wp_blog_category(
id int(11) NOT NULL AUTO_INCREMENT,
sort int(11) NOT NULL DEFAULT ‘0’,
name varchar(255) NOT NULL,
PRIMARY KEY (id),
KEY sort (sort)
)
CHARACTER SET ‘utf8’

固定ページBlogsを生成する

INSERT INTO wp_posts (post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_content_filtered, post_parent, guid, menu_order, post_type, post_mime_type, comment_count) VALUES
(1, NOW(), NOW(), ”, ‘Blogs’, ”, ‘publish’, ‘closed’, ‘closed’, ”, ‘blogs’, ”, ”, NOW(), NOW(), ”, 0, ”, 0, ‘page’, ”, 0)

2.サイトのカテゴリーを追加する

一応インストだけで初期設定は完了していますが、ブログのカテゴリーを登録しないと、そもそも分類出来ませんね。

プラグインインスト時に追加された、サイトカテゴリ>カテゴリの追加から、ブログのカテゴリーを追加してください。


この項目は親サイト側からでないと追加出来ません!

3.各サイトがどのカテゴリーか登録する

サイトがどのカテゴリーに分類されるかを登録します。サイトカテゴリトップでマルチサイト一覧を確認して下さい。
現在登録されているサイト一覧が並んでいるので、編集ボタンをクリックして下さい。

マッチしたものにチェックを入れて決定します。

この項目は子サイト側から、自分がどこのカテゴリーにマッチしているか登録出来ますが、自分のサイト以外は登録出来ません。

3.ウィジェットに追加

ここまで出来たら後はウィジェットにプラグインを追加するだけです。


完成!ブログポータル



ここまで来ると、なんかブログポータルっぽいぞ!

カスタマイズ(レイアウト面とか、ページャーとか)

ある一定の件数でページングしたいなどあるかと思います。
自分のブログ記事単体をページングするなら色々情報などありましたが、オリジナルのSQLに対してページングするのによい方法が見つからず、

PEAR:pager

を使いました。PEARは再配布OKとのことで、このプラグインに同梱させてもらいました。

表示を変更するならcategory_site.phpファイル

ブログの一覧の表示や、ページング数を変更したい時はcategory_site.phpを変更してください。

$perPage=10;//1ページあたりの表示件数

ページングしているときの表示例ですが、こんなカンジ



ブログ一覧のHTMLなどもこのファイルなので、適時変更していただければと思います。

Multi Site Categoryダウンロード

ダウンロードは一先ずこちら。出来立てほやほやなので、まだ公式に登録してません。

後日公式に登録しますが、一先ずこちらからどぞ~。

補足:BuddyPress環境以外の方

当プラグインが、個人的にBuddyPressの環境でマルチサイトをカテゴリー化したいがために作ったプラグインで、BuddyPress意外のマルチサイト環境ではあまり検証しておりませんでしたのでお詫びいたします。

category_site.phpファイルの59行目は、BuddyPressでユーザープロフィールページへのリンクを呼び出す関数なので、BuddyPress環境でない方はこの部分を削除してみてください。

何分初めて作ったプラグインですので不具合など多々あるかとは思いますが、色々ご意見など頂き、今後の改善に努めたいと思います。

XAMPP × WordPress どうしてもローカルでマルチサイトを作りたい!

XAMPP × WordPressでポート番号使っていたからWordPressのネットワーク作成に引っかかったぞ!

  • XAMPPにインストしたWordPressをマルチサイト化したい!
  • ITかあさんのXAMPPは http://localhost:50016 とポート番号にてVirtualHost化
  • WordPressのURLがポート番号混じっているとネットワーク作成でエラーになる!

ここで諦めて別にローカルサーバーで構築やめてもいいんだけど、

何が何でもXAMPPのローカルでBuddyPressをマルチサイトで構築したい

諦めません、勝つまでは!(誰に?)
マルチサイト構築には、URLにとにかくポート番号が混じってはいけないみたいで、ポート番号を外す処理が必要になります。

で、世の中には同じことを考える人は2~3人いるみたいですね。

抜粋

「xamppをVirtualHostで複数サイトを管理してて、特に問題なかったけどWP3.xを導入してマルチサイト化もしてみたら、なんと!ポート番号80以外のサイトはネットワークの作成が出来ないじゃないか~!」
という、恐ろしくニッチな悩みに対する解決法です。

ニッチだね~。私はニッチもサッチもいかなかったから、同じような悩みを持つ人に出会えて感激です!

私もこちらを参考にポート番号を外す設定をしましたが、私がやったのはもう少し簡単なのでご紹介。

手順として、ポート80をダミードメインを割り当てて、Windowsのhostファイルにダミードメインを設定

この80ポートの割り当てを以下のファイルだけに設定。

C:\xampp\apache\conf\extra\httpd-vhosts.conf

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/buddy_press"
ServerName site03.project
ServerAlias www.dummy-host2.localhost
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>

C:\Windows\System32\drivers\etc\hosts

こちらのファイルの最終行に以下の記述を追加

127.0.0.1 site03.project

127.0.0.1とは、localhostのことです。site03.projectこのダミードメインの記述があれば、80ポート設定のディレクトリを読みにいきます。

たった2つのファイルの修正をするだけで無事ポート番号はずしに成功しました。

注意点として この記述が使えるのは1つのダミードメインだけです。複数は無理。
なぜなら80ポートは一個しか使えないからです。

ですから、もしも同じXAMPP内で別のマルチサイト化されたWordPressを動かしたい時や80ポートをどうしても使いたい場合などは先ほどのVirtualHostを別のポート番号に一時的に変更してあげてください。

もうお気づきの方もいるでしょうが、

http://localhost/

と、アドレスバーに入力してもsite03.projectと同じ表示になると思います。

結局 htdocsの直下にWordPressをインストールしても同じ結果だったのですが、VirtualHost化していれば、一つのXAMPPでいくつもサイトが展開出来ます。

一番楽なのはWindowsのhostファイルにポート番号も使えればいいんですけどね、そうもいかないみたいですね。

80ポート下に作ってあげればVirtualHost化されたXAMPPでもマルチサイトが出来るよ

と、いうお話でした。

ちなみに今回のケースは

はなからドメイン取得したサーバーでやれよ
いや、localhost直下でやればよくね?

と言う方には全く関係のないお話でした。
以上。

わぷーの後姿(想像図)

わぷーの後姿(想像)

わぷーの後姿

わぷーの後姿ってどんなのだろう と想像したら、描かずにはいられませんでした。
尻のカンジはITかあさんの単なる趣味です。

反響あったらカラーにしよう。

WordPressなど、記事の最初の何文字かを引っ張ると最後の文字が文字化けする件

WordPressなど、記事の最初の何文字かを引っ張ると最後の文字が文字化けする件

文章で伝えると、この現象を説明するのが難しいのですが、WorpdPressなどブログのトップページで、記事の最初の何文字かを引っ張って表示すると、なぜか最後の文字が文字化けすることがよくあります。

(実は私のブログのトップページでも同じ現象が起きていて、いつかネタにしようと思ってわざとそのままにしておきました)

WordPressのブログに、最後の文字が文字化けしているケースをおく見かけますが、対処方法は非常に簡単です

なぜ最初の何文字かを引っ張ると最後の文字が文字化けするのか

原因が分かれば解決方法は簡単です。

substrはマルチバイト非対応だから

文字列を好きなように ここから、ここまで~と省略するのに最もよく利用されるのがsubstrですが、このsubstrは2バイト文字に対応していないため、

半角と全角の混じった文字列を省略するのに不向きだから

です。

英語圏で作られたテンプレートは当然2バイト文字のことは考えていないので、そこで日本語サイトの文字列をsubstrを使って無理に省略しようとすれば文字化け
をして当たり前。

そこで、2バイト文字に対応した文字列を『ここから、ここまで~』と省略してくれる関数を利用すればいいんですね

2バイト文字対応した文字列の省略のPHP関数

mb_substr mb_strimwidth mb_strcut
//substrは2バイト文字非対応
echo substr(strip_tags($post-> post_content), 0, 200)

//mb_substrは2バイト文字対応。半角混じっても文字化けせず、1バイトも2バイトも1文字としてカウント
echo mb_substr(strip_tags($post-> post_content) , 0 , 200 , "...");

//全角を2バイトとして計算する
echo mb_strimwidth(strip_tags($post-> post_content) , 0 , 200 , "...");

//1バイトを一文字として計算
echo mb_strcut(strip_tags($post-> post_content) , 0 , 200 , "...");

それぞれ微妙に出力される文字数に違いがありますが、半角や全角が混じってもそれなりにきれいに整えてくれるmb_strimwidthをオススメしますね。

Facebookみたいなスクレイピング記事投稿WordPressプラグイン

FacebookのあれみたいなWordPressプラグイン

Facebookみたいなスクレイピング記事投稿WordPressプラグイン

勉強会でもブログ内でもURL指定でスクレイピングで記事登録する方法を度々紹介しているITかあさんです。
以前Facebookのあれ(コメントやフィードでURLを入力すると、URL先の情報が拾えるあれ)
についての記事を書きましたが、『Facebookのあれシリーズ』第二弾でFacebookにたなスクレイピング記事投稿WordPressプラグインを紹介します。

スクレイピングで記事投稿するWordPressプラグイン


Status Lite

Status Liteの特徴

Status Liteの最大の特徴は、

Facebookのように、URLを入力しただけでURL中のタイトルやディスクリプションなどの情報をスクレイピング形式で取得し、
取得した情報をWordPressにそのまま記事として投稿できるというもの。

画像をダウンロードして、アップロードして、記事を書いて・・・
そういうブログの記事作成の面倒な部分の手間を省いてしまおうというプラグインです。
(そういう手間こそブログを書く楽しみではないかっ!という人には余計な情報ですね、ハイ)

スクレイピング記事投稿WordPressプラグイン Status Lite導入方法

導入方法はいたって簡単。ダウンロードボタンをクリックして、ダウンロードし、WordPressのプラグインディレクトリにアップロードするだけ。


なぜかFacebookアカウントを利用すると、ダウンロードに失敗。
Google+のアカウントで無事ダウンロードに成功。
ですが、ダウンロード時に必要なだけで実際にプラグイン上で使われるわけではないようです


WordPressプラグインにアップロードするだけ

特別な設定はなく、ダウンロードして、アップロードして、管理画面からプラグインの有効化をするだけ。
特別な設定もなく、簡単に導入できるのが特徴です。

Status Lite実行例

それではStatus Liteを利用して、ブログの記事を投稿したいと思います。

ダッシュボードに表示されたStatus Lite

プラグインを有効化すると、Worpdressの管理画面トップにフォームが出現します。Status Liteを利用した記事の投稿はここから行います。


URLを入力してプレビューを実行する

URLを入力し、Previewボタンを押すと、指定したURLのスクレイピング結果が表示され、やはりFacebookのように、スクレイピングしたURLの画像が選べるようになります。


無料版はスクレイピングしたテキストの変更が出来ない

無料版では、残念なことにスクレイピングしたデータ(テキスト関連)を編集することが出来ません。有料版を利用すると可能なようです。
Postを押して、記事の登録が完了します。


記事が登録されています

投稿一覧を確認すると、先ほどの記事が追加されていることが確認出来ます。
カテゴリーの登録までは出来ないので、未分類になるようです。


外部URLから画像を引っ張っているだけ

ソースコードを確認すると、自分のサーバーに画像を登録したのではなく、スクレイピングしたURLからそのまま画像を引っ張っていることが分かります。

このプラグインを使ってみての感想

仕組みとしては非常におもしろいのですが、画像をスクレイピングした先からそのまま引っ張っているのが残念。
利用方法として、海外のブログ記事を翻訳して紹介したい人向けかもしれませんが、画像もFacebook形式ですから一つしか引っ張れない。

WordPressでリンク集のようなサイトを作っている人、(サイトのリンク集とか)にとっては 使えるかもしれません。

最近はスクレイピングがライフワーク?になってきているので、ぜひこれよりすごいスクレイピング用プラグインを作ってみたいものです。

埼玉版わぷーを描いてみた!

埼玉県と言えば、草加せんべいでしょう!

最近ご当地版として次々新しいわぷーが誕生しているわけですが、埼玉県版もほしいよね!ということで、勝手に描いてみましたが。

ひどいっ ひどすぎるっ 絵心ゼロでごめんなさい。

わぷーに草加せんべいを持たせた経緯は・・・

十万石まんじゅうって知っていますか?

『うまい、うますぎるっ!』

ですよ。(テレビ埼玉見たことある人しか絶対知らない。)
取り合えず、わぷーに持たせやすく、絵心ゼロのかあさんだって『丸描いてちょん!』で行けました!
最初 海苔付せんべいにしたのですが、Wordpressのロゴマークとのバランスが崩れるのでやめました。

かあさんは絵心ゼロなので、絵心のあるかた、ぜひもっと綺麗に埼玉県わぷーを仕上げて下さいな!