03
6月
2014

カスタム投稿とfacebookの連動【jetpack】

ちょっと備忘録。
カスタム投稿をfacebookと連動したかったんですが、なにげに今までそういう案件がなかった
、、、というか通常の投稿とカテゴリで済んじゃってたので調べてみた。

こちらのサイトに答えが(笑

function hoge() {
    add_post_type_support( '追加したいカスタム投稿タイプの名前', 'publicize' );
}
add_action( 'init', 'hoge' );
これでOK。簡単。
16
5月
2014

contact form 7でコンバージョンタグを使いたい場合

contact form 7は高性能かつ使いやすいので使っている方も多いと思います。
AJAXで処理されるのもいい感じ。。。ですが、
コンバージョンタグをサンクスページに埋め込みたい場合などに困ります。
contact form 7はFlamingoなど別プラグインとの連動も出来るので、出来ればそのまま使いたいですよね?

といっても方法は簡単で、フォームの設定画面の下の方にある、「その他の設定」という欄に以下のように記載します。

<code>on_sent_ok: </code><code>"location.replace('フォームの処理後に飛ばすURL');"</code>

ここまで書けばわかると思いますが、飛ばし先のページにコンバージョンタグを埋め込んで下さい。
飛ばし先はサンクスページとして作りこんでもいいし、リダイレクトでも好きな方法でどうぞ。

08
5月
2014

パーマリンク設定でInternal server error

GW明け、頭がボーっとしたままWordPressいじってたら久々に起きたエラー。
パーマリンクの設定をしたら500エラー。

やはり休み明けは頭がバカになってます。

原因は簡単で、いつやったのか全く覚えてませんが
.htaccessのパーミッションが何故か400になってました。
しょうがないのでコピペで追記して、UTF-8のボムなしで保存してアップ。

無事にエラーは直りました(笑

16
2月
2014

ベトナムブックスのYahoo!ショッピング店がオープンしました!

弊社運営のベトナムブックス(http://vietnambooks.net/)のYahoo!ショッピング店がオープンしました!

ベトナムブックス Yahoo!ショッピング店

Yahoo!ショッピング店も合わせてご愛顧いただけますようお願い申し上げます。

05
1月
2014

本年も宜しくお願い申し上げます

久しく更新しておりませんでしたが、年末年始のお休みも終わり2014年がスタートしました。

本年も様々なお客様のお役に立てるよう、また、世の中にちょっとでも新しいものやサービスをお届けできるよう頑張って参ります。

では2014年もモーニング・グローリーを宜しくお願いいたします。

09
8月
2013

夏季休暇のお知らせ

当社では以下の日程にて夏季休暇を頂きます。

 

8月12日(月)~8月19日(月)

 

メールに関しては常時お受けしておりますが、期間内のお問い合わせにつきましては19日午後以降順次ご対応させて頂く予定です。
何卒宜しくお願い致します。

 

03
8月
2013

WordPress 3.6 日本語版がリリースされました

WordPress 3.5がリリースされて約8ヶ月。WordPress 3.6 日本語版がリリースされました。
主なアップデートは以下のようになっています。
各プラグインの互換性などの確認が取れ次第、当社管理のサイトでも順次バージョンアップを行なっていきます。

 

新しいデフォルトテーマ – Twenty Thirteen。
ブログ作成にフォーカス。
サイドバーをシングルレイアウトに / ウィジェットをフッターに。
投稿フォーマットやセマンティックマークアップなど、最新のテーマ機能に対応。
フォントベースのアイコン (Genericons)。
管理者向け変更
ナビゲーションメニュー と 管理画面/外観/メニューのインターフェイスを改善。
リビジョンをよりダイナミックかつ拡張可能に更新。
自動保存と投稿のロック。
メディア編集画面での音声やビデオのプレビューに対応。
開発者向け変更
外部ライブラリのアップデート。 詳細情報
新たなオーディオ/ビデオ向けAPIによる、ID3タグのようにパワフルなメディアのメタデータへのアクセス。
リビジョンの為のフィルターにより、リビジョン数を事前定義するだけではなくその場で設定することが可能に。 詳細情報
セマンティックマークアップにより、コメントフォーム、検索フォームおよびコメント一覧で、よりよいHTML5のマークアップをテーマに用いることが可能に。
has_shortcode()を用いるコンテント内のショートコード検索と、新しいフィルターでのショートコード属性の修正。

変更内容の詳細は以下をご参照下さい。
http://wpdocs.sourceforge.jp/Version_3.6

24
5月
2013

朝日住まいづくりフェアへ行ってきました

お客様が出展している朝日住まいづくりフェア2013に行ってきました。
今回お手伝いしたのは看板関係です。
デザインから制作、納品まで、かなり厳しい納期でした(笑)
ご挨拶と現地確認を兼ねて行ってきたのですが、一つ悲しい出来事が。。

納品した看板は好評価を頂いたのですが、左右のブースがはみ出してブースを作ってしまったために、
せっかく作った看板がそのままでは収まらなくなってしまったのです。。
やむなく端っこを少しカットして設置して頂いたようですが、なんだか少し残念でした。

とはいえ、初日にもかかわらずお客様も入り、まずまず良い滑り出しになっていたので一安心。
朝日住まいづくりフェアはこの土日もやっていますので、興味のある人は是非足を運んで見て下さい。

うちのお客様、慶成建設株式会社のブースも是非よろしくお願いします!

お客様のホームページはこちら
慶成建設株式会社 → クリック

ホームページもモーニンググローリーで制作しています!

IMG_3711

21
3月
2013

【sass,scss】DreamweaverCS4でコードヒントを使う

自分の作業環境は

仕事場:DreamweaverCS4、FireWorksCS4、IllustratorCS4
自宅仕事場:DreamweaverCS5.5(Adobe WebPremiumCS5.5)

という感じで何故か自宅の方が環境が整っているのですが、
sassを使ってコードを書く際にコードヒントが出るようにするやり方が若干違うのでメモ。

【CS5以降】
c:\ユーザー名/AppData/Roaming/Adobe/Dreamweaver cs5/ja_JP/Configuration/DocumentTypes/MMDocumentTypes.xml

を以下のように修正すればOKです。
<修正前>

<documenttype id="CSS" internaltype="Text" winfileextension="css" macfileextension="css" file="Default.css" writebyteordermark="false" mimetype="text/css" >

<修正後>

<documenttype id="CSS" internaltype="Text" winfileextension="css,scss" macfileextension="css,scss" file="Default.css" writebyteordermark="false" mimetype="text/css" >

これはあちこちで紹介されてるので分からなければ色々と調べてみるとすぐに分かると思います。

で、CS4で同じようにやろうとすると、、、
該当のフォルダに『MMDocumentTypes.xml』がありません。

はて?
と思い見てみたら、入っているフォルダが違うのでした。

【CS4の場合】
c:\Program Files/Adobe/Adobe Dreamweaver CS4/configuration/DocumentTypes/MMDocumentTypes.xml

に該当ファイルがありますので、こちらを同様に修正すればOKです。
ちなみに、CS5以降と同じユーザー以下のフォルダに該当ファイルをコピーでも大丈夫です。

これが、
cs4_scss01

こんな感じに!
cs4_scss02

18
1月
2013

WordPress3.5でCustom Field GUI Utility3の画像アップロードが使えない

WordPress3.5にバージョンアップした途端にCustom Field GUI Utility3画像アップロードが使えなくなりました。
新しいメディアアップローダーではカスタムフィールドに挿入が出来ないんですね。

これ、作者様がすぐに対応してくれるだろうと油断していたら
今はほとんどWordPressに関わっていないらしく対応未定。。。
臭いものに蓋をするが如くそのまま年が明けたわけですが、
ふと調べてみたら対応方法を考えてくれた方がおりました!

モンキーレンチ – WordPress3.5でもCustom Field GUI Utility3の画像アップロードを使う

せっかくなのでやってみます!
修正が必要になるのは下記の2ファイル。
新メディアアップローダーではなく、旧アップローダーを表示させるようにします。

  1. cfg-utility.php
  2. cfg-utility.js

cfg-utility.php

修正するのは2箇所。
「画像アップロード」という文字列を表示してボタンとして利用する方法なんですが、
上記ブログでも述べられているようにカーソルも矢印のままだし、マウスオーバー効果も無いので
なにかしら分かるようにスタイルシートなりで変更した方が良いと思います。
私は自分用のサイトなので適当にカーソルをポインターに変更するだけにしました。

元コード

/* 管理画面のhead要素でCSSとJavaScriptファイルの読み込み */
function insert_head () {
    $plugin_url = get_bloginfo('wpurl') . '/wp-content/plugins/custom-field-gui-utility/';
    $head = <<< EOD
    <link rel="stylesheet" href="{$plugin_url}facebox/facebox.css" type="text/css" media="all" />
    <link rel="stylesheet" href="{$plugin_url}cfg-utility.css" type="text/css" media="all" />
    <link rel="stylesheet" href="{$plugin_url}exValidation/css/exvalidation.css" type="text/css" />
    <script type="text/javascript" src="{$plugin_url}facebox/facebox.js"></script>
    <script type="text/javascript" src="{$plugin_url}exValidation/js/exvalidation.js"></script>
    <script type="text/javascript" src="{$plugin_url}exValidation/js/exchecker-ja.js"></script>
    <script type="text/javascript" src="{$plugin_url}cfg-utility.js"></script>
    <script type="text/javascript">
    jQuery(function($){
        $("form#post").exValidation();
    });
    </script>
EOD;
    echo $head;
}

修正後

/* 管理画面のhead要素でCSSとJavaScriptファイルの読み込み */
function insert_head () {
    $plugin_url = get_bloginfo('wpurl') . '/wp-content/plugins/custom-field-gui-utility/';
    $admin_url = admin_url();
	$head = <<< EOD
    <link rel="stylesheet" href="{$plugin_url}facebox/facebox.css" type="text/css" media="all" />
    <link rel="stylesheet" href="{$plugin_url}cfg-utility.css" type="text/css" media="all" />
    <link rel="stylesheet" href="{$plugin_url}exValidation/css/exvalidation.css" type="text/css" />
    <script type="text/javascript" src="{$plugin_url}facebox/facebox.js"></script>
    <script type="text/javascript" src="{$plugin_url}exValidation/js/exvalidation.js"></script>
    <script type="text/javascript" src="{$plugin_url}exValidation/js/exchecker-ja.js"></script>
    <script type="text/javascript" src="{$plugin_url}cfg-utility.js"></script>
    <script type="text/javascript">
    jQuery(function($){
        $("form#post").exValidation();
		$('b.add_image').live('click', function(){
            // show the thickbox
            tb_show( 'ファイルをアップロード', '{$admin_url}media-upload.php?post_id=&TB_iframe=1' );
            return false;
		});
	});
    </script>
EOD;
    echo $head;
}

もう一箇所は以下の通り。

元コード

/* input[type=text]系のカスタムフィールドのボックスの中身を生成する */
function make_textform ($param) {

    $post_id     = $param['post_id'];
    $meta_key    = $param['meta_key'];
    $type        = $param['type'];
    $class       = $param['class'];
    $default     = $param['default'];
    $size        = $param['size'];
    $sample      = $param['sample'];
    $fieldname   = $param['fieldname'];
    $must        = $param['must'];
    $placeholder = $param['placeholder'];
    $validation  = $param['validation'];

    $name = 'cfg_' . sanitize_name($meta_key);
    $meta_value = get_post_meta($post_id, $meta_key, true);
    if (!empty($meta_value)) {
        $value = esc_attr($meta_value);
    } elseif (!empty($default)) {
        $value = esc_attr($default);
    } else {
        $value = '';
    }
    $input = make_input ($name, $value, $size, $default, 'text', $placeholder, $validation);
    if ($type == 'textfield') {
        $inside = <<< EOF
        <p class='cfg_input'>$input</p>
EOF;

修正後

/* input[type=text]系のカスタムフィールドのボックスの中身を生成する */
function make_textform ($param) {

    $post_id     = $param['post_id'];
    $meta_key    = $param['meta_key'];
    $type        = $param['type'];
    $class       = $param['class'];
    $default     = $param['default'];
    $size        = $param['size'];
    $sample      = $param['sample'];
    $fieldname   = $param['fieldname'];
    $must        = $param['must'];
    $placeholder = $param['placeholder'];
    $validation  = $param['validation'];

    $name = 'cfg_' . sanitize_name($meta_key);
    $meta_value = get_post_meta($post_id, $meta_key, true);
    if (!empty($meta_value) or strval($meta_value) === '0') {
        $value = esc_attr($meta_value);
    } elseif (!empty($default) || $default == 0) {
        $value = esc_attr($default);
    } else {
        $value = '';
    }
    $input = make_input ($name, $value, $size, $default, 'text', $placeholder, $validation);
    $media_buttons = '';
    $media_buttons = '<b class="add_image" style="cursor:pointer">画像アップロード - Click me!</b>';
    /*
    ob_start();
    do_action('media_buttons');
    $media_buttons = ob_get_contents();
    ob_end_clean();
    */
    if ($type == 'textfield') {
        $inside = <<< EOF
        <p class='cfg_input'>$input</p>
EOF;

上記では、カーソルをポインターに変更して『click me!』としてみました。
自分用とはいえ、しばらく触らないと忘れそうなので。
クライアント向けであれば、旧アップローダーのようなアイコンかボタンにした方が無難です。

cfg-utility.js

jsの方も下記のように修正します。

元コード

    // アップロードボタンを調整 [start]
    $('p.cfg_add_media_pointer a.add_media').addClass('cfg_add_media_clone').removeAttr('id');
    // アップロードボタンを調整 [end]

    // イメージフィールド・ファイルフィールド周りのliveイベントを設定 [start]
    $('a.cfg_add_media_clone').on('click', function(){
        var self = $(this);

        // アップローダーをクリック(clc)したイメージフィールドのidをcookieに保存
        var clc_id = self.closest('div.imagefield').attr('id');
        setCookie('imf_clc_id',clc_id);
    });

修正後

    // アップロードボタンを調整 [start]
    // $('p.cfg_add_media_pointer a.add_media').addClass('cfg_add_media_clone').removeAttr('id');
    // アップロードボタンを調整 [end]

    // イメージフィールド・ファイルフィールド周りのliveイベントを設定 [start]
    // $('a.cfg_add_media_clone').on('click', function(){
       $('b.add_image').on('click', function(){
	    var self = $(this);

        // アップローダーをクリック(clc)したイメージフィールドのidをcookieに保存
        var clc_id = self.closest('div.imagefield').attr('id');
        setCookie('imf_clc_id',clc_id);
    });

上記適用後は以下の通り。

130118-01

ちょっとダサいですが、まぁ機能してるので問題はありません。
気になる方はスタイルシートでゴニョゴニョしましょう。
クリックすると見慣れた画面になって一安心(笑)

130118-02

12