サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
techblog.55w.jp
WordPress3.5あたりでメディアアップローダーが改善して自作でメタボックスに設置しやすくなりました。 ただ、メディアアップローダー周りのマニュアルが少なく、色々なサイトを参考に試行錯誤していました。 参考サイト WordPressの管理画面内でメディアアップローダーを呼び出す WordPress 3.5の新メディアアップローダーを自作プラグインやテーマに組み込む。 その中で参考になった(というかほぼまるごとコピった)サイトはこちら wordpressの投稿画面にメディアアップローダー付きのカスタムフィールドを設置する。 画像を一度の処理で複数アップロードできる上にドラッグで並び替えができるというなかなか便利な仕様です。 (逆に単体のみの場合上のサイトが参考になります) ただ、コードをそのままコピペをした場合多少不具合があったのでちょっと修正 <?php //////////////
enchant.jsでゲームを作って公開するとき、画面が左上に固定されてしまいます。 これはenchant.jsが最初にbody要素の直下にenchant-stageというDIV要素を作るので、レイアウトの変更は難しいのかなー? とおもってソースを覗いてみると、どうもすでにenchant-stageというIDの要素がある場合は、そこに表示してくれるようです。 ということは、これを上手く使うとゲームだけじゃなくflash的な使い方をサイトで使えるかな? 難点は必ずenchant-stageというID要素が必要になるので一つのページに複数のゲームを配置できないことですか。 なお、wordpressで設置するときの注意点ですが、game.preloadで画像をロードする際にパスを間違えないように注意。 サンプル(9leapに投稿したのをそのまま配置したので、スタートと終了の処理がおかしいです。)
enchant.jsでiPhone向けゲームアルゴリズムを色々試したところ、Canvasで画像を描画するより、Spriteを多用したほうが軽いことがわかりました。 Canvasを一度読み込んで色々描画してから書き込むのより、Sprite900個を設置したほうが軽いというのは何か書き方を間違っている気がしなくもないですが、1000個未満ならSpriteを設置してもiphoneでも問題ないのがわかったのはびっくりしました。(一度に動かすとまた別ですが) しかしCanvasではなくSpriteで処理すると多少問題がでるのが、Spriteを回転して斜めにすると上手く衝突判定が行われないのです。 というのも、enchant.jsではSpriteのXY座標+縦横幅の四角形で衝突判定を行っているのですが、回転時もこの部分は変わらないのです。 そこで、斜めになったときの計算のアルゴリズムを模索しなくてはと
Enchant.jsでお絵かきソフトでも作ろうかなと思ったのですが、Surfaceクラスからcontextを介して毎回 Canvasにアクセスするのが面倒になってきたので、よく使いそうなパターンをクラス化しました。 Surface拡張プラグインPaint.js【ダウンロード】(名前をつけて保存でダウンロードしてください) 使い方。 enchant.jsを読み込んだ後に等でこのプラグインも読み込んでください。そしてSurfaceクラスの替わりに var canvas = new Paint(320,320); と書けばSurfaceをラップしたPaintクラスが使えます。 *しょぼい機能 色を指定する。 paint.color(strokeStyle,fillStyle); 線の色と塗りつぶしの色を指定します。片方だけを指定する場合は片方をnullにしてください。 円を書く paint.ci
IDEA*IDEAさんのサイトでなかなか面白そうなフレームワークが紹介されていました。 デザインが苦手なWebサービス開発者に朗報!今風のデザインがさくっと作れる『Twitter Bootstrap』が凄まじく充実している件 Twitter社が提供しているCSSで作られたフレームワークで使い勝手がいい感じなのですが、導入がやや面倒だったので少し紹介したいと思います。 1.本体のダウンロード 本体は下記よりダウンロードできます。 Twitter Bootstrap 右にあるBootstrap on GitHubのアイコンをクリックした後に、Downloadsのアイコンをクリックし好きな方の拡張子でダウンロードします。 ****************色々設定を変更する予定がある人向け******************** 2.Less.jsのダウンロード BootstrapはCSSを色々拡
カスタムフィールドテンプレートプラグインには非常に多彩なオプションがありますが、そのオプションの説明がとても少ないです。 その中のこっそりした機能の一つにグループ化というのがあります。 これはグループ化した部分をfieldsetで囲む機能で [グループ1] type = fieldset_open legend=ぐるーぷ [項目1] type = text [グループ1] type = fieldset_close のようにfieldset_open~fieldset_closeまでの間の項目がグループ化されます。 そしてグループ化したついでにそのグループをクリックで表示オンオフにしようというカスタマイズをします。 まずcustom-field-template.phpを変更するので念のためバックアップはとっておいてください。 custom-field-template.phpの2090行
enchant.jsも慣れてきたのでゲームっぽいのを作ってみようかと思います。 使用する画像が増えたのでchara1.gifとchara3.gifとicon.gifをフォルダにコピーして使っています。 *上下に移動する敵を作る。 enchant(); window.onload = function() { var game = new Game(320, 320); game.preload('chara3.gif','chara1.gif'); game.onload = function() { var player = new Sprite(32, 32); player.image = game.assets['chara3.gif']; player.frame = 12; player.x = 20; player.y = 80; var enemy = new Sprite
enchant.jsは色々なイベントを追加できるのですが、ドキュメントがまだ少ないので適当にまとめてメモ load Gameをロードするときにトリガーする。初期設定用? progress 画像を一枚プリロードするたびに起動する。画像が多い時にローディング画面を出すのにいいかも? enterframe フレームの開始時にトリガーする。 多分もっとも使う。 added addChild等でノードを追加したときにトリガーする。配置したときの初期設定に便利。 removed removeChild等でノードを削除したときにトリガーする。削除した後に何か処理したいときに便利。 touchstart オブジェクトをタッチ(またはクリック)したときにトリガーする。割と頻度高め。 touchmove オブジェクトをタッチしたまま移動したとき(ドラッグ)にトリガーする。 ドラッグ処理に使う touchend
Twitterで出欠確認を取れるサイトをみて、こんな感じのをwordpressでできないかなーと 思って簡易的な出欠確認を作ってみました。 //出欠確認テスト add_filter('the_content', 'join_check'); function join_check($content){ $key_select = array("参加","保留","不参加"); //選択肢をここで設定 $ret=""; if(is_user_logged_in()){ //ログインしてないユーザーには表示しない。 global $user_identity,$post; $join_data = unserialize(get_post_meta($post->ID,'join_meta',true)); //カスタムフィールド join_meta からデータを読み込む //送信ボタンを押し
なんでも最近enchant.jsという、html5とjavascriptで簡単にゲームが作れて、しかも スマートフォンでも動作する面白そうなゲームエンジンがあるというので早速ダウンロードして色々試してみました。 思ったより簡単に色々できそうだったのでちょっと紹介します。 ・ダウンロード ダウンロードは下記のサイトからダウンロードできます。 【ダウンロード】 ・解凍する。解凍すると色々なファイルが出てきます。その中で使うのはenchant.jsだけです。 とりあえずactionフォルダに入っているindex.htmlとenchant.js、imagesフォルダに入っているchara0.gifを 新しいフォルダtestを作成して、その中にコピーしましょう。 ・index.htmlの中身 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <
Twitterのfeedが取得できるようになったので何か面白いことができないかと思い色々探していたらマルコフ連鎖という面白い仕組みがみつかりました。 Yahooの形態素解析を利用して文章を作成するみたいです。 早速TwitterのツイートをRSSから取得して自動文章を作成する関数を作ってみました。 参考 http://dogmap.jp/2008/08/27/markov-text-generator/ Twitter自動文章作成 <?php function Tweet_to_markov($max_length = 120){ //APIキーを登録。取得はhttps://e.developer.yahoo.co.jp/webservices/register_applicationから $aid = 'YahooAPI KEY'; //検索キーワード。Twitterの検索条件が使えます
テーマを作成していると、カスタム分類である値がある場合別の処理がしたいことがでてきます。 たとえば果物というカスタム分類にリンゴがある場合はリンゴのアイコンを出したい場合 <?php $terms_opts = get_the_terms($post->ID,"Fruit"); foreach($terms_opts as $opt){ if($opt->name == "りんご"){echo '<image src="apple.jpg">';} } ?> という感じだったのですが、3.1から追加されたhas_termというのを使うと <?php if(has_term("りんご","Fruit",$post->ID)):?> <img src="apple.jpg"> <?endif;?> とシンプルにすみました。 使い方としては has_term( $term, $taxonomy,
WordPress3.1からの新機能の管理メニューは便利ですが、出しっぱなしだと結構じゃまになってきます。 そこで必要無いときに隠したいなあと思い、色々作ってみました。 ページ上部にカーソルを持って行くと管理メニューを表示 add_action("wp_footer","hide_adminbar_js",1010); add_action("admin_footer","hide_adminbar_js",1010); function hide_adminbar_js(){ global $wp_admin_bar; ?> <?php if (is_admin_bar_showing()&& is_object( $wp_admin_bar ) ):?> <div id="wpadminbar_hide" style="left:0;height:28px;position:fixed
地味にうれしかった新機能としてカスタム投稿をアーカイブ化できることです。 これで新着情報などのカスタム投稿を作成したときに、一覧を表示するときにいちいちページを作らなくても大丈夫です。 しかし使い方がわからずちょっとつまったのでメモ ・設定 カスタム投稿のアーカイブを表示するにはregister_post_typeにhas_archiveを追加してTrueにする必要があります。 Custom Post Type UIがまだ対応してないので手動で入力めんどい・・・とおもってたらアップデートで対応してました。 早い! ・使い方 www.exsample.com?post_type={カスタムポスト名} で、カテゴリーのようにアーカイブが表示されます。テンプレート階層は 1.archive-{カスタムポスト名}.php 2.archive.php 3.index.php の順番に表示されるようで
先日、カスタム分類をTaxInputで登録できるはずなのに全然うまくいかないで困っていました。 結局よくわからなかったのと、よく考えたら後からカスタム分類を別個追加したほうが楽なんじゃないかと気が付き、方法を変更しました。 $id = wp_insert_post($post_data); wp_set_object_terms($id,$tags,'hash_tag'); wp_insert_postは返り値にpost_idを返します。そこで、投稿設定をした後にそのpost_idで wp_set_object_termsを使いカスタム分類を追加しています。これはhash_tagというカスタム分類に$tagsの内容を登録しています。 これでハッシュタグ(ついでにユーザー名も)を関連付けた投稿をポストすることに成功しました。 次の問題は一日に呟かれる設定ワードの呟きが100~200件程あるの
WordPressのフォーラムで検索フォームから検索すると投稿だけではなくページやカスタム投稿も表示されるのを なんとかしたいという内容の質問がありました。 あれ?確かWordpressの検索は投稿のみしか検索しなかったと思ったんだけど違ったっけ?と思い調べてみると 元からなのか仕様が変わったのか確かにpost_typeの指定はありませんでした。 // If a search pattern is specified, load the posts that match if ( !empty($q['s']) ) { // added slashes screw with quote grouping when done early, so done later $q['s'] = stripslashes($q['s']); if ( !empty($q['sentence']) )
googlemapを利用するとき、いちいちコードを入力するのが大変だし、緯度経度を割り出すのが面倒なので カスタムフィールドに住所を打ち込むと地図を表示してくれる関数。非常に参考になったサイトがあったはずだけど URLが思い出せない。 以上の内容をfunctions.phpに入力しておく。 function St_gmap_func() { $apikey = "XXXXXXXXXXXX"; //ここに取得したgoogleAPIキーを入力 $width = "280px"; //横幅を入力 $height = "250px"; //縦幅を入力 $zoom = "14"; // ズームを入力 $id = "gmap01"; //IDを入力 $popm
Wordpressにはwp_insert_postという関数があります。 これを使うと外部から投稿フォームを作ったりプラグインから投稿フォームを作ったりすることができます。 *参考 wp_insert_postリファレンス 81行から成るWordPressの自作投稿フォーム しかしこの記述だとカスタム投稿やカスタム分類に対応してないように見えます。投稿された内容が3.0以前の話なので当然ですが 調べるとちゃんとカスタム投稿とカスタム分類も対応しています。(というか、普通の投稿もこの関数を使用しているわけで対応していないとおかしい) というわけで自分的メモで カスタム投稿はwp_insert_post( $my_post ); $my_post = array(‘post_type’=>’カスタム投稿名’); でOKでした。 カスタム分類は少しややこしくて tax_input=>array(
以前作ったサイトのバージョンアップをした際に、今まで全部投稿でまとめていたのをカスタム投稿にしていくつかわけようかと思いました。 しかし、調べるとどうも投稿からカスタム投稿に移動させる機能が見つからない。 というわけで、どうにかできないかと色々試してみました。 1.事前に移動させるカスタム投稿とカスタム分類を作っておきます。 2.まず適当なページを作ります。 3.適当なページに下記のテンプレートファイルを読み込ませます convert.php <?php /* Template Name: コンバート */ ?> <?php query_posts('post_type=post&posts_per_page=100&cat=XXX'); //XXXにはカテゴリーのIDを入力。100件以上データがあるなら数字を増やしてください。 ?> <?php if (have_posts()) : ?
ACF proにあるacf_form機能でフロントエンドのエディタ画面が作れますが タイトルとコンテンツの題名が英語でした。 Title Content等 この部分を変更したいこともあるので(例えばメルマガ用などでtitleをメールタイトルにするなど) 調べた所なかなか見つからず、やっと見つけた結果、acf_formの前で //タイトル題名 $acf->local->add_field(array("key"=>"_post_title","name"=>"_post_title","label"=>"タイトル")); //本文題名 $acf->local->add_field(array("key"=>"_post_content","name"=>"_post_content","label"=>"本文")); これで行ける模様
*赤枠で囲まれた場所をメモしておく。 その後にサーバー情報を選択します。 サーバー情報の中にIPアドレスというのがあるのでそこの数字をメモしておきます。 *赤枠で囲まれた場所をメモしておく。 続いてGoogleAppsからメールサーバーの情報を取得します。 具体的には以下の内容になります。 mx ASPMX.L.GOOGLE.COM 10 mx ALT1.ASPMX.L.GOOGLE.COM 20 mx ALT2.ASPMX.L.GOOGLE.COM 20 mx ASPMX2.GOOGLEMAIL.COM 30 mx ASPMX3.GOOGLEMAIL.COM 30 mx ASPMX4.GOOGLEMAIL.COM 30 mx ASPMX5.GOOGLEMAIL.COM 30 txt @ v=spf1 include:aspmx.googlemail.com ~all ムームードメインにロ
WelcartとAcmailerを連動させて、商品購入時にメールマガジン購読を希望した場合、Acmailerにメールアドレスを登録させるサンプル。 1.下準備 ACMailerとwelcartはインストールしておく。 http://www.welcart.com/community/archives/1283 を参考に、completion.phpを待避させておく。 2.カスタムオーダーフィールドの設定 WelcartShop→カートページ設定→カスタム・オーダーフィールドを選択。 フィールドキーにmailmaga、フィールド名にメールマガジン購読、セレクト値に希望しない、希望する を入力する。 3.completion.phpの編集 待避したcompletion.phpの最後尾(?>の手前)に下記のコードを入力する。 if($entry['custom_order']['mailmaga
このページを最初にブックマークしてみませんか?
『ゴーゴーウェブマーケット技術BLOG』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く