jQueryやっと動いた!!

ポイントはHTMLからひとつひとつ

やっと動いたよ。
exValidation
1日目→バリデーション?なんじゃそれ。ぐぐってとりあえずこれつかってみよう→動かない。
2日目→やっぱり動かない。先輩に確認してもらう。と、読み込んではいるとのこと
3日目→HTMLから一つひとつ動くか確認。
うおーーーーできた!!!!

WordPress上では動かない事もあるので、やはりデスクトップに落として
簡単HTMLで一つひとつどれが動くか確認していくのがよかった。

詳細はこちらの記事で
exValidationとcontact form7を使ってお問い合わせのバリデーションを実装

細かいコードを書いているわけじゃないのに、
つまづいてるのが悲しいな〜。

exValidationとcontact form7を使ってお問い合わせのバリデーションを実装

バリデーションとは

指令にバリデーションの有無を検討と書いてある。なんぞ?

WordPressプラグイン Contact Form7を使ってお問い合わせページを実装。
ふぅ。
確認ボタンがないのが気になる。
これまたプラグインContact Form 7 add confirmにて実装。
方法は↓
Contact Form 7に確認画面をものすごく簡単に付けられるプラグイン

この辺はスムーズにできて、上司に報告。そのときに

バリデーションってどのような機能?作業でしょう?と聞いてみたら

ヴァリデーションてのは入力チェックのことです。
・必須項目が入力されているか
・メールアドレスは適切なメールアドレスの形式か
・数字は半角?全角?
・フリガナに漢字やひらがなが入ってない?

とのこと。ヴァリデーション。ヴァ!
あぁ!見たことありますね。「半角ね」とか「必須よ」とか。あれですね。

そして、上司の話によるとJavaScript(jQuery)でやると簡単とのことだったので、
ぐぐってみた。

exValidationを使ってみよう!

ぐぐってみてでてきたのは
exValidation
jquery.validationEngine.js
あたり。
2つ目を使った記事は少し古かったので、一つ目の方に。

本家サイト5509.meが削除されてる?

やり方はこちらを見て挑戦
どんなフォームにでも使える exValidation の使い方 基本編
本家サイトが消えてしまったらしく、私は本家を見ることができないでいたので、丁寧に書いてあってよかった。

ダウンロードはこちら
※画面右下のDownload zipボタンからダウンロード
https://github.com/5509/exValidation

はまってしまった所をピックアップ

エラー表示がでる。どうやらjsを読み込んでない

これはよくありがち、こちらもググって解決。
とにかく順番が大事!jQueryとwp_headを読み込んでからなので、その後に書く。そして/headの前。
それと、WordPressはもともとjQueryが入ってるのでそれを使うようにする(重複させない)

<?php 
wp_enqueue_script('jquery');
wp_head(); 
?>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/exvalidation.js"></script>
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/js/exchecker-ja.js"></script>
<link type="text/css" rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/css/exvalidation.css"/>

参考にした本

これ、最後の数ページにしかjQueryの事載っておらず、初心者の初心者の時はこれでわかるか!
って感じでしたが、今みると、なるほど。という感じ。

エラー表示でないけど、exValidationが動かない!Contact Form7はformにIDつけられない?

先輩に確認してもらう。ちなみに私はJavaScript超初心者。
alertやsizeというのを使って、ちゃんと読み込んでいることを確認してもらった。

<script type="text/javascript">
jQuery(function(){
    alert( jQuery("form.wpcf7-form").size() );
    var validation = jQuery("form.wpcf7-form").exValidation();
});
</script>

また、ここで困ったのがContact Form7のformタグにidが付けられない事。
参考にしている記事はformタグにIDを指定していたので、
そうしないとできないのかしら?と悩んだ。

結果は、class指定でOK
“form.wpcf7-form” ←formタグのclass名wpcf7-form

もうこうなったらHTMLから確認してみる!少し躓いたらこれがオススメ

どうにもこうにも動かない理由がわからないので、
先輩に助けを求めつつ、デスクトップ上でHTMLをいじりながら一つ一つ確認。
ちなみに、ファイルは先程のサイトで落とせるので、それをカスタマズしながら。

どんなフォームにでも使える exValidation の使い方 基本編

タグにid指定が必要&二個以上はダメ。$表記もダメ

[ text* your-name id:◯◯ ]

こんな感じに作られるショートコードでidをしっかり指定します。

そのidはjsでも定義。既述のサイトを参考にして作っています。
ポイントは$表記だとWordPressでは動かなかった。$→jQueryに全部書き直しましょう(1個でも残っていると動かなかった)

jQuery(function(){
	var validation = jQuery("form.wpcf7-form")
		.exValidation({
		    // それぞれの項目に「class="chkrequired chkkatakana"」のように記述しているのと同じことをしています。
			rules: {
				name: "chkrequired",
				name_: "laterCall",
				kana: "chkrequired chkkatakana",
				kana_: "laterCall",
				email: "chkrequired chkemail chkhankaku",
				email_: "laterCall",
			},
			customListener: "blur", // onBlur時のみにしてみる
			stepValidation: true,
			errTipCloseBtn: false,
			errHoverHide: true, // マウスオーバーで消える
			scrollToErr: true   // 
		});
    // チェックボタンで確認する場合
	jQuery('input.laterCall').click(function() {
		validation.laterCall('#' + this.id.replace('_',''));
	});
});
// エラー削除
function clearErrors() {
	// 表示されているエラーをフェイドアウト
	$("div[id*=err_]").fadeOut();
}

exValidationのCSSファイルのみでよいかと思ったら、style.cssも使った

やっとこそさ、動き始めた!
と思っても、なぜか色がつかない。
classのつけ忘れかなーと思ってみていると、どうやら、同じexValidationCSSファイル内のstyle.cssに書かれた、テーブルのデザインも必要なのかしらね。
なので、exValidationにもともとのデザインを損なわないように追加で貼った。

動いた!!!けれど、項目を追加していくとまた動かない

ついに動いて、項目をドンドン追加。
すると、動かない。
な、なんで・・・

ということで、ここもまた、
一つ一つ追加しては動作確認していきました。

わかったのはJavaScriptで「,」を私はよく忘れている・・・

もともとの文法がまったくわかっていないので、間違いにも気づきにくいんですよね。

自分で実装するか、exValidationを使うか

同時進行で先輩に助言をいただいたのですが、
「exValidationのようなものは使わずに自分で実装するのがよいよ」
と。
おぉそういえば、私の職業プログラマだった・・・

とはいえ、無事実装できたのでひとまずこれで!
そのうち簡単なものくらい自分で実装するスキルも身につけなければ・・・

またサイトがなくなっては困っちゃうのでメモ

エラーの文字列の調整はexchecker-ja.js を書き換えて行える。

↓既にあるもの

chkrequired: “入力してください”
chkselect: “選択してください”
chkretype:”入力内容が異なります”
chkemail: “正しいメールアドレスの形式を入力してください”
chkhankaku: “全角文字は使用できません”
chkzenkaku:”全角文字で入力してください”
chkhiragana: “ひらがなで入力してください”
chkkatakana:”カタカナで入力してください”
chkfurigana: “ふりがなはひらがな、全角数字と〜、ー、()が利用できます”
chknochar: “英数字で入力してください”
chknocaps: “英数字(小文字のみ)で入力してください”
chknumonly: “半角数字のみで入力してください”
chkmin: “文字以上で入力してください” // chkmin6 で6文字未満NG
chkmax: “文字以内で入力してください” // chkmax10 で10文字を超えるとNG
chkradio: “選択してください”  // ラジオボタンの場合
chkcheckbox: “選択してください” // チェックボックスの場合
chkurl: “正しいURLの形式を入力してください”
chktel: “正しい電話番号を入力してください”
chkfax: “正しいファックス番号を入力してください”
chkfile: “ファイルを選択してください”

jQueryが動かないよーーー!!!(解決してません)

昨日に引き続きバリデーション組み込みの作業

おかしい、
おかしい、
なぜかjQueryが動かない。

ほかのjsが邪魔しているのかなんなのか。
初心者の私は、それを突き止めるすべも。。ほげほげ

ひとまず、alertあたりでちゃんと動いてるのは確認したのよ。(先輩が)

<script type="text/javascript">
jQuery(function(){
    alert( jQuery("form.wpcf7-form").size() );
    var validation = jQuery("form.wpcf7-form").exValidation();
});
</script>

明日は、ひとまずもっとHTML上に簡単にしたもの作って確認してみよかな。

ほぇ。動かないと疲れるわ〜

ひたすらお問い合わせページ作成

お仕事でのお問い合わせページ作成

いままで作ってきたサイトは自分のサイトだったので
特にお問い合わせページが必要なく・・・
なので、1からの勉強によい機会になった。

普段使っているプラグインContactForm7には確認画面がない

確認機能は欲しい派だったので、ぐぐってみるとプラグイン発見。

contact-form-7-confirmプラグインにて実装

そして、
指令にあるバリデーションの実装

はて?
バリデーションとは?

ヴァリデーションてのは入力チェックのことです。
・必須項目が入力されているか
・メールアドレスは適切なメールアドレスの形式か
・数字は半角?全角?
・フリガナに漢字やひらがなが入ってない?

なるほど。

jQueryでやると簡単よ。
とのことだったので、ぐぐってみると
どんなフォームにでも使える exValidation の使い方 基本編
がヒット。

やってみるも、どうもうまくいかない。
なので明日、下記リンクみながらやってみる。
入力項目をその場でチェック jQuery-Validation-Engine

レスポンシブル対応って難しい

画像ってどうすんだ?

簡単にれすぽんしぶる対応する為に、
WordPressのテンプレートやBOOTSTRAP使ってるのに、
ナビゲーションに画像使ってる場合どうすんだよ。ってなった。

そのナビのせいか、
ナビの下にあるコンテンツがサイズが画面の横幅と同じじゃなく
画面より大きく表示されちゃう。

んもぅ。

うおぉー5時過ぎたー

今日は旦那さんがお迎え行くから大丈夫だろう。
といっても、急がねば。

サイトURLにカスタム投稿タイプのスラッグが勝手についてしまう
現象が起きた。
結局index.php が表示されるんだけど、
怖いので、
前日の状態にサブバージョンで戻ってもらった。

パーマリンク設定を違うものに変えると直って
しばらくするとまたおかしくなるので
明日まで様子見。

ゆくゆくは本番サーバへ移行する際のための投稿記事でのリンク先記述方法

WEBサイト作成時にありがちな途中でURLが変わる時

過去記事をこつこつとアップしたけど、全部現サーバのリンクになってる

現テストサーバのリンクになってるのを、結局またあとで一つひとつ変更しなきゃいけないのかしら。
と、
既存のサイトから新サイトを作る時に素人の私は不安だった。

フィルターフックを使う

フィルターフックとは

参考にしたサイト
WordPressカスタマイズの幅が劇的に広がる、フィルターフックとアクションフックの使い方

ふむふむ、思ったほど難しくない。
フックに指定したものを実行した時に、自分が用意した関数を実行させる。

contentを読み込んだ時に、サイトのURLを変えたい!

そんな時は、

functions.phpに以下コードを記載

add_filter( 'the_content', 'replacehost');

function replacehost($content) {
    return str_replace('%SITEURL%', site_url(), $content);
}

で、現在記事中に「http://◯◯◯」ってでてる所には

%SITEURL%

に置き換える。

すると、the_content()を読み込む時に自動で
%SITEURL% → http://◯◯◯
に変換。

あとでホスト名が変わった時も、WPのsite_url()関数の出力によって
置き換えられるのでいちいち記事を修正しなくてもよくなります。

なるほど!

どうしてもカスタム投稿タイプの年別ページ作れなかった〜〜

クライアントもすでに確認中だし、新たに開発環境作った

年別アーカイブページいろいろとがんばってみたけど、
すんなりいかない&
クライアントもすでにテストサイトをチェック中なので、
新たに開発環境作ってもらって、実装してみる。

ついでに、CSSも変える。
実はこのサイト、私の人生初のWordPressサイトなんだもの。

いろいろ修正する!

成長してるとよいな。

台風すごかった〜。カスタムフィールドプラグインを変更!

本日は台風の為、自宅勤務。
こういうことができるのもこの仕事内容と会社のおかげだなぁ・・・

カスタムフィールドの日付から年別アーカイブを作る所で
どうしてもプラグインTypesだとできそうもなく、
急遽違うプラグインで試してみた。
使ったのはAdvanced Custom Fields

参考にしたのはこちら
Advanced Custom Fieldsの日付がサーバ環境で表示されない

そうしたところ、ちゃんと表示された。
うーんTypesのやろう。

ただ、今度はdate.phpが表示されないよ。
またかよ・・・

参考にしたサイト

WordPressプラグイン「Advanced custom field」の基本的な使い方と用例

カスタムフィールドの日付から年別アーカイブリストを作成

うたスキ動画21位!会員なったよー

前回の部活動画は今のところ21位

utasuki
前回の部活でとった動画が
今の所総合ランキング21位にいた!!

人気動画-うたスキ動画:うたスキ|JOYSOUND_com

と、いってもあれです。
撮ったの部活の日の動画だけど、この動画、私歌ってないー笑
(一番後ろの方で譜面操作してるんだぜ!)

投稿者もまちさんになってまでしょ。
そなんです、ハモリ用の動画や楽器演奏の動画がランキング上位ににきやすいぽい。
私もglobeのマークを歌ってる人探したりしてますし。

私の歌もハモってもらいたい

ハモってもらいたいといってもハモリができない(´;ω;`)ウッ…

ということで、globeのマークパートをやってもらうのを目標に
ついにうたスキ動画、有料会員になってもた!

マークさんよろしくお願いします!!

今日もあと5分だ。カスタムフィールドで投稿できるようにカスタマイズ

ベタ打ちHTMLだと私以外の人と共有するのはさすがにやばいな。と思い、
急遽カスタムフィールド作って作成。

wordpress カスタムフィールドテンプレートでチェックボックスを利用して画像を表示する
これを参考にしたけど、どうしてもできなくて

チェックボックスからラジオボタンに変更笑

その後は、
カスタムフィールド作った日付で年別アーカイブページを作りたいけどつまずき中

WordPress でカスタムフィールドの日付から年別アーカイブリストを作成する

を参考にしたけれど、
そもそもの前提である
カスタムフィールドの値の書式は ‘yyyy年mm月dd日’。
は、どうしたらいいんだ?
てつまずいてます。

最初か最後に年4桁がきてるわけじゃないんだね。
また次回に。

あと5分で日報かかなければ〜〜

自分だけの日報だから、書かなくてもOKだけど、
一度休んだらたぶんずっと休む笑

本日は
・サイドバー表示崩れ改修
だけ完了!

その他、
あるタームのカスタム投稿タイプ記事一覧と、同じタームの固定ページを記載したいのに、
うまくいったようで、あとからおかしくなってしまった・・・

カスタム投稿タイプの
ページ送りもおかしいし。

単純なカスタム投稿タイプのページ送りは無事表示

単純なカスタム投稿タイプのページ送りは無事表示

なんでつぎからつぎへて難しいことが・・・

固定ページと共通のタームをもつカスタム投稿タイプ記事一覧だすのが難しかった

teblepressは結構使えそう!

ガーデニングサイトの栽培スケジュールを何でつくろうと探してる時に
見つけたプラグイン「teblepress」。
やり方をググって背景色を指定することによって、栽培スケジュールを作ったけれど、
背景色の指定が結構面倒くさいな。
アボカド___ぽちのベランダガーデニングとビオトープ 2
今後、作ってく上で、毎回
この行この列のセルに色付けって何個もやるのが・・・

もっといい方法ないかしら。

固定ページが属してるタームの記事の取得

今日は、ここでだいぶつまずいた。
固定ページとカスタム投稿タイプ共通のタームがあって、
固定ページと同じタームのカスタム投稿タイプの記事を表示したかったけれど、
tax_queryのtermsの指定がなかなかできなかった。

WordPress PHPで現在表示しているタクソノミーIDを取得しtax_queryでカテゴリーを絞り込み、表示する方法
の記事を参考にしてなんとか表示。

それと、query_postsでなく 参考書みながらWP_Queryでやろうとしたけれどうまく表示できなかった。
理由はまたこんど考える。

固定WIKIページのデザインはこんなかんじになった。
アボカド___ぽちのベランダガーデニングとビオトープ