get_template_directory_uriとget_stylesheet_directory_uri の違い

get_template_directory_uri()はWordPressテーマディレクトリまでのURLを取得する関数です。

もう一方で、

get_stylesheet_directory_uri()はWordPressテーマディレクトリまでのURLを取得できる関数です。

違いは、WordPressテーマの親子関係にあります。

get_template_directory_uri()をもう少し細かくいうと、親テーマで使用した場合は、get_stylesheet_directory_uri()と変わらずに有効化してあるWordPressテーマのテーマディレクトリURLの取得します。小テーマで使用した場合は、子テーマのstyle.cssに書かれている「Template」をみてテーマディレクトリURLを取得しています。

もし、子テーマを指定し、そこからURLを取得する場合は、get_template_directory_uri()とget_stylesheet_directory_uri()が違います。get_template_directory_uri()は親テーマのテーマディレクトリURLを出力してくれますが、get_stylesheet_directory_uri()は子テーマのテーマディレクトリURLを出力してくれます。

<まとめ>

get_template_directory_uri()とget_stylesheet_directory_uri()の違いについて紹介しました。WordPressのテーマ開発をするときはget_template_directory_uri()は親テーマで使い、get_stylesheet_directory_uri()子テーマで使うといった感じに分けるといいでしょう。

 それでは・・・

Contact Form 7 をいじりたい。

タイトル通りです。いじりたいのです。

いじれないのです。いじればいいじゃんと思うかもしれませんが、ちょっといじるとエラーになります。
やること自体はとても簡単なのです。やり方が検討付かないです。

「Contact Form 7 改行」

で検索すると

「Contact Form 7 チェックボックス項目の改行」ばっかり出るのです。

それっぽいの調べただけでも

http://biz.decoweb.jp/html/support/plugin/contactform.html
https://ja.forums.wordpress.org/topic/138818
http://www.atmark-salon.com/maki_mail_form
http://blog.dreamhive.co.jp/mkoba/?p=4681
http://matome.naver.jp/odai/2140227252298703701
http://inafukukazuya.com/archives/5871
http://media.thanksmaker.net/?p=1575
http://us1.php.net/manual/ja/function.date.php
http://webshufu.com/event-organiser-wordpress-event-calendar-plugin/
http://kachibito.net/web-design/pikaday.html

ただどれも違う。

これかなってのがこれ。

https://blog.ikt-s.com/contact-form7-width_height/
http://wpcj.net/449

ただこれをやってもバグる。また本日も弄る…

カスタム投稿の作成

カスタム投稿は、自由に投稿できる【投稿】です。いままでは、投稿と固定ページの2種類でした。それ以外に、独自で作成した投稿=カスタム投稿を作成することが出来ます。

プラグインで作成することもできますが、勉強もかねて、function.phpに書く方法を記しておこうと思います。

 

【function.php】の中

add_action('init', 'add_websites_post_type');
function add_websites_post_type() {
    $params = array(
            'labels' => array(
                    'name' => 'サイト',
                    'singular_name' => 'サイト',
                    'add_new' => '新規追加',
                    'add_new_item' => 'サイトを新規追加',
                    'edit_item' => 'サイトを編集する',
                    'new_item' => '新規サイト',
                    'all_items' => 'サイト一覧',
                    'view_item' => 'サイトの説明を見る',
                    'search_items' => '検索する',
                    'not_found' => 'サイトが見つかりませんでした。',
                    'not_found_in_trash' => 'ゴミ箱内にサイトが見つかりませんでした。'
            ),
            'public' => true,
            'has_archive' => true,
            'supports' => array(
                    'title',
                    'editor',
                    'author',
                    'custom-fields',
            ),
            'taxonomies' => array('websites_category','websites_tag')
    );
    register_post_type('websites', $params);
}

 

add_adtion()関数は、【指定したタイミングで、指定した関数を実行する】関数です。

任意の名前は、安全に名前をつけたいなら、名前の最初にオリジナルの名前を記入したほうがいいと思います。また、基本的に指定した名前はサイト運用中に変更することが出来ません。

適用させる引数は、たくさんあるので割愛します。

 

投稿できるようになったら、それをどこ(単一ページ、固定ページなど)に表示させるかということろですが、長くなってしまうので改めて書いていきたいと思います。

findメソッドの引数

findメソッドは、sqlでいうselect文にあたるメソッドです。その名の通りデータの検索を行います.  メソッドに引数を与えて,処理を色々と変えてきます。

【find関数の引数について】

第1引数

  • find(‘all’) : 条件に該当するデータ全てを取得します.
  • find(‘first’) : 条件に該当するデータの最初の1レコードを取得します.
  • find(‘list’) : 条件に該当するデータをidとラベルが対になった形で取得します.
  • find(‘count’) : 条件に該当するデータの件数を取得します.

*条件を指定しない場合は,これだけでも利用できます

第2引数

  • conditions : データの検索条件を指定します.すごくよく使うので後述します.
  • fields : どのフィールドのデータを取得するかを指定します.
  • order : ソートの仕方を指定します.
  • limit : データを取得する件数を指定します.
  • offset : データ検索を何件目から行うかを指定します.

*よく使うのはcondisions(where句に相当する), order(order by句に相当する),limit(limit句に相当する)の三つだと思います.

condisionsの書き方について

array(
‘conditions’ => array(
     ‘モデル名.id’ => 1
}
}
というような形で記述すれば良いです.
public function index(){
            $this->set(‘data’,$this->Board->find(‘first’,array(
                ‘conditions’ => array(‘Board.id’ => 48))
                ));
        }
という感じで記述するとidが48のものを取得します.find(‘first’)を使ってますが,idが48のデータは1つしかありえないので,firstで一件だけ取得する書き方の方が効率的です.
メインのfind関数以外にも、たくさんのコントローラーメソッドがあります。それらはまた次回にします。

こんにちわ。朝の初心者PHP解説講座のお時間です。
今日のコードはこちらです。

<pre class="lang:default decode:true " >&lt;!-- 名前 --&gt;
		&lt;div class="col-xs-12 col-ms-9 col-sm-9 mgt-xs-15"&gt;
			&lt;div class="row"&gt;
				&lt;div class="col-xs-3"&gt;&lt;span class="myfont font_pink"&gt;&lt;?php echo __('Name'); ?&gt;&lt;/span&gt;&lt;/div&gt;&lt;!-- /.col --&gt;
				&lt;div class="col-xs-9"&gt;&lt;?php echo h($user['User']['handle_name']); ?&gt; &lt;/div&gt;&lt;!-- /.col --&gt;
			&lt;/div&gt;&lt;!-- /.row --&gt;
			&lt;hr&gt;

			&lt;!-- 年齢 --&gt;
			&lt;div class="row"&gt;
				&lt;div class="col-xs-3"&gt;&lt;span class="myfont font_pink"&gt;&lt;?php echo __('Age'); ?&gt;&lt;/span&gt;&lt;/div&gt;&lt;!-- /.col --&gt;
				&lt;div class="col-xs-9"&gt;&lt;?php echo h($user['User']['age']); ?&gt; &lt;/div&gt;&lt;!-- /.col --&gt;
			&lt;/div&gt;&lt;!-- /.row --&gt;
			&lt;hr&gt;

			&lt;!-- 趣味 --&gt;
			&lt;div class="row"&gt;
				&lt;div class="col-xs-3"&gt;&lt;span class="myfont font_pink"&gt;&lt;?php echo __('Hobby'); ?&gt;&lt;/span&gt;&lt;/div&gt;&lt;!-- /.col --&gt;
				&lt;div class="col-xs-9"&gt;&lt;?php echo h($user['User']['hobby']); ?&gt; &lt;/div&gt;&lt;!-- /.col --&gt;
			&lt;/div&gt;&lt;!-- /.row --&gt;
			&lt;hr&gt;</pre> 

ブラウザー上でどんな表示になるか、なんとなく、想像つきますか?簡単にいうとプロフィール画面の一部です。
ちなみにプロフィールの設定画面で登録しておくとデータベースから引っ張ってくれるしようになっています。

名前とか年齢とか趣味とかあったので、知識がなくても勘の鋭い方ならわかったかもしれませんね。

今日のミッションはurlを追加して、ブラウザー上に出力させて自動的に自分のwebページのリンクを張り、飛べるように設定することです。
登録がなければ、その段落そのものは消えていてもらう。
(ちなみにデータベースにurlの情報を格納しておけることを前提としておきます。今回はviewページの編集のみの解説です)

箇条書きにすると
urlを乗せる ← 簡単!
リンクを張り、飛べるようにする ← 簡単!
登録がなければ、その段落そのものは消えていてもらう ← ぎゃあ!

答えを書いてから解説しますね。

 <div class="row">
  <div class="col-xs-3"><span class="myfont font_pink"></span></div><!-- /.col -->
   <div class="col-xs-9">
       echo $this->Html->link(
     $user['User']['blog_url'],
 $user['User']['blog_url'],
 array('controller' => 'users',
 'action' => 'admin_index',
 'target' => '_blank',
 'escape' => false
)
   );
  ?>
 </div><!-- /.col -->
</div><!-- /.row -->
<hr>

これなんですが、前半はたぶん想像が付くと思います。大事なのは後半で

array(‘controller’ => ‘users’,
 ’action’ => ‘admin_index’,    ←ここから持ってきて
 ’target’ => ‘_blank’,       ←新規のウインドーで表示
 ’escape’ => false         ←なければ消えて

これがあるから、入力しているとリンクが出て、なければ消えてくれます。
actionについてもっとわかりやすく説明できるようになったら追記します。
呼んで字のごとくなのですが、なにげにうまい説明ができません…

arrayについて
http://php.net/manual/ja/language.types.array.php

CakePHP ~FormHelper~

FormHelperの説明を記載しておきます。これは、すばやくフォームを作成してくれるのでとても便利な機能です。

最初に使うメソッドは、create()です。

書き方は

FormHelper::create(string $model = null, array $options = array())

です。いろいろ書くとわけがわからなくなるので、今日はこのcreate()オプションについて説明します。

echo $this->Form->create('User', array('type' => 'get'));

create()には、多くのオプションがあります。

出力結果は、

<form id=”UserAddForm” method=”get” action=”/users/add”>

になります。

《オプション》

・【$options['type'] 】

 このキーは生成するフォームのタイプを指定します。 有効な値は ‘post’, ‘get’, ‘file’, ‘put’, ‘delete’ です。

・【$options[‘action’]】

このキーは現在のコントローラーにおいて、特定のアクションに 対してフォームデータを送り込むことができます。

【$options['url']】

現在のコントローラー以外にフォームデータを渡したい 場合、$options 配列の ‘url’ キーを使ってフォームアクションの URL を指定します。指定された URL は作成中の CakePHP アプリケーションに 対する相対値を指定できます。

今日は、ここまでですが、同時にinput要素を作る方法input()についても説明しなければいけませんが、こちらはまた書きたいと思います。

人見知り~こんなとき気まずいんです~

私は、人見知りというか圧が強い人(サッカー観戦で盛り上がっちゃっている人など)と出会っちゃったら、うまく同調(気まずい)できなくて、悲しくなっちゃいます。みなさんもそんなことないですか?これって人見知りっていうの?笑

さらに緊張しいだから、どうすればいいのだろうと悩んじゃったりしちゃいます。。。

そんな自分を直したい!

そうか!そんな時は気まずい感じをださないよう、自分の第一印象をよく、こんな工夫をしてみよう。笑

同じ境遇の方がいたら、以下のポイント意識してみたらいかがでしょうか?

1、第一印象が気まずい感じになるとわかっているので、とにかく【第一声】を大きくする。

2、(; ・`д・´)汗を吹きながら、話していると第一印象がいい。(→女子の好感度ねらいww)

3、おでこを出す

4、ボディーランゲージを使う

そんでもって、慣れてきたらパーソナルスペースを自然につめるっていう【高度な技】を使ってみよう!

とにかく第一印象、スタートダッシュが重要なんだと思います。

まあ、気にしすぎなのか、そこのところあいまいなんだけど・・・・・・

てか、本来人見知りってのはなおりませんから。(→ここで根本的なことをいうwww)

今日はこれで終わり!

いやぁ~ホント今日は暑かった(;´∀`)!よし!ビールを飲もう!

パラハァイリ-

ブログのネタに困り、自社のホームページにおもしろいスプリクトを付けようと検索すると、こんなスプリクトがありました。

京急語コンバータ
http://jsdo.it/mstssk/jp2kq

このコンバーターを使用すると以前、京浜急行電鉄の「ドア、閉まります」という発音を「ダァシエリイェス!!」と表現するネタがネットで流行りましたが、このコンバータを使うと様々な言葉を京急風に変換することができます。

例えば「らるくあんしぇる」と入力すると

ラルカァシエル

と変換してくれます。

まったくもって使いどころがわかりません。
しかし、きっと、自社のホームページにつけたら褒めてくれるだろうと思い、勝手に付けようとしたら、これがどっこい付けれない…

まず、ワードプレスにどうやってJavaScriptを付ければいいかわからない。
ってきり、固定ページにコードを入力すれば実装できると思いきやそうではなかった。

一応、cssとかにもコードを入れました。
プラグインにもJavaScriptを読み込んでくれるやつをいれましたが、特に動かず…
ちなみにこれです。
http://trynote.org/?p=90

時間切れですので、今日はひとまず終了。明日も続きます。

バイク押しがけのやり方

今日は炎天下(30~32度ぐらい)の中、社長に呼ばれ、ハーレー(カスタムで年式はわかりません)の【押しがけ】を頼まれました。バッテリーの問題かわかりませんが20回ぐらい押してもエンジンがかからず、汗だらだらで自分のHPが減ってしまい、後半のお仕事は・・・・ねむっ・・・・いや、寝てませんよ。

そこで、今日は仕事内容とは関係ないですが、【押しがけ】の方法をメモしておきます。

押しがけとは自分でエンジンを回転させて点火、始動させる方法です。

その押しがけの手順はますメインスイッチをONにします、そしてバイクにはまたがらずギアを2速にいれます、そしたらチョークも引いてみてください(社長のハーレーはチョーク引くと戻せないって・・・)、その後クラッチを切ってバイクに全体重をかけて前方へ押し出すのです、それが押しがけです。

前方に押し出した後、ある程度勢いがついたらここが押しがけの醍醐味ですがスッとクラッチを繋いでください、上手くいくとバイクの勢いでエンジンが回されて始動します、押す力が弱いとロックされてかからないのでその場合は再度押しがけ挑戦です。

この繰り返しなんです。

運よく押しがけでエンジンがかかった場合はすぐにクラッチを切って数回アクセルを回します、その後ギアをニュートラルに戻してアイドリングさせてください、押しがけでエンジンがかかったからといってすぐにエンジンを切らないでください、せっかく押しがけでかかったのにすぐきってしまうとまたエンジンがかからないなって再度押しがけをしなければいけないはめになってしまします。

【注意点】

エンジンがかかったらすぐにクラッチを切らないとバイクが暴走してしまいます、その点は充分注意してください、そして押しがけでエンジンがかかったらしばらくバイクに乗って走りましょう、そうする事によって充電がされます。

 

まあ、メンテナンスしないとすこしづつでもバッテリーは消費されているし、新しいバッテリーに交換すれば押しがけしても簡単にエンジンがかかります。

寒い季節に押しがけも大変だけど、真夏の方がもっと大変だし、とにかく汗がはんぱなから・・・・・・

ではでは。

今日のやったことについてのおさらい。

public $pageTitles = array(
		'Users' => array(
			'admin_index'   => '会員一覧',
			'admin_add'   => '会員登録',
			'curator' => 'キュレーター一覧',
			'view' => 'キュレーター',
		),
		'Pages' => array(
			'display'   => array(
				'home' => "ねもじー",
				'company' => '会社概要',
				'curator-entry' => 'キュレーター募集',
				'privacy-policy' => '個人情報の取り扱いについて',
				'about-legal' => '特定商取引に関する表示',
				'about-girlspremium' => "girl's Premiumの使い方",
				'faq' => 'よくある質問',
				'terms' => '利用規約',
			         )             
                                 );

今日のお仕事はブラウザーのタイトルタグに指定のタイトルを表示させることです。
現状は設定されているページではタイトル表記されます。それに違うページも付けてくれってのが今日のお仕事です。仮にindexとういうページがあったとします。しかし、indexページには設定がまだされてません。タイトルタグに「モニターアイテム一覧」というのを付けたいとき、どうするかというと

 'Items' => array(
			'index'   => 'モニターアイテム一覧',

を入力すれば、オッケーかというと、これでは足りません。
実はこのコードの下には別のコードがあります。それがこれです。

    switch ($controller->name.'.'.$controller->action){
                        case 'Items.index':
			$leftTitle = $this->pageTitles['Items']['index'];
			break;}

察しが良い方ならピンと来るかもしれません「switch」これがないとブラウザーのタイトルタグに指定したタイトルを実行してくれません。簡単に言うと「これを出すよ」ってことと「出して」ってことのセットだと思います。「これを出すよ」って言ってもどうやって?だし、「出して」って言ってもなにを?ってことになります。

・publicについて
プロパティまたはメソッドのアクセス権 (visibility) は、 キーワード: public, protected または private を指定することにより定義できます。 public 宣言されたクラスのメンバーには、どこからでもアクセス可能です。 protected 宣言されたメンバーには、 そのクラス自身と継承したクラス、親クラスからのみアクセスできます。 private 宣言されたメンバーには、そのメンバーを定義したクラスからのみアクセスできます。

・switch
http://www.phpbook.jp/tutorial/if/index7.html

・break
(PHP 4, PHP 5)
breakは、現在実行中の for, foreach, while, do-while, switch 構造の実行を終了します。

break では、オプションの引数で ネストしたループ構造を抜ける数を指定することができます。 この引数のデフォルトは 1 で、直近のループ構造からだけ抜けます。

参考URL
http://ivystar.jp/programming/php/privatecprotectedcpublicia/