HTML,CSS,PHP,ワードプレスカスタマイズ 技術情報資料

WPの投稿画面で フィールド項目を操作する。

スポンサーリンク

WP の投稿画面でフィールド内容を操作したくなる時ってありますよね?

例えば、メール送信フォームでエラーチェック以外に集計するとか。

買い物かごもどきですね。

買い物かごでは対応できないけど、メールの注文はうけつけたい。

でも、そこでお買い物合計を集計してその場で表示させたい。

とか、

wwwで見積もりしたいとか。

その中でも OnClick とかを使えない場面です。

HTMLのソースではこんな感じ。(どこまでも説明のためのソースなのでポイントとなる部分だけ)

<form method="post" action="" enctype="multipart/form-data">
<input type="text" name="input1" id="input1" size="60" value="" /><br />
<input type="text" name="input2" id="input2" size="60" value="" /><br />
<input type="text" name="total" id="total" size="60" value="" /></p>
<input type="submit" value="送信">
</form>


入力された2つの値を合計して total に入れるって簡単なやつ。

この場合、こんな感じで Jquery を使います。


入力フィールドのフックの方法です。

<script type="text/javascript">
// input1 のフック
jQuery('#input1').change(function() {
calc();
});
// input2 のフック
jQuery('#input2').change(function() {
calc();
});
// input1 + input2 = total の計算
function calc(fld)
{
var input1H = document.getElementById("input1");
var input2H = document.getElementById("input2");
var totalH = document.getElementById("total");
var total=0;
if( isFinite( input1H.value )==true && input1H.value){ //数字かゴミかの判定
total+=parseInt(input1H.value,10); //数字変換して加算
}
if( isFinite( input2H.value )==true && input2H.value){ //数字かゴミかの判定
total+=parseInt(input2H.value,10); //数字変換して加算
}
totalH.value = total; //結果を代入
}
</script>



投稿で直接 javascript を書き込む


ワードプレスの場合、ほとんどの場合 Jquery を取り込んであるので、

いきなり投稿ページに直接 JavaScript を書き込んでもOKですが

WPのテキストエディタを使っているとビジュアルモードに切り替わってくれちゃいます。

さらにエディタモードを切っていても勝手にソースをいじることがあるので、そこんところは注意しないといけないけど、

面倒なら、計算部分の JavaScript をファイルにして読み込ませるという手もありますね。


その場合は、javascript を取り込むタグを埋め込んじゃいましょう。

こんな感じです。
 ↓
<script type="text/javascript" src="ファイル"></script>


javascript ファイルは、ワードプレスのテーマのディレクトリに入れておくと便利です。

calc.js という名前で保存した場合、
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/myjavascript/calc.js"></script>


で、これを投稿記事の下の方にでも貼っておく。

それでも script の前の < が化ける場合は、 header.php に直接書き込むのもあり。

その場合は、こう書きます。
※テーマフォルダーの中に myjavascript というフォルダーを作っていれたと仮定します。

global $post;
if( $post->ID==<ターゲットのページの postID> ){
<script type="text/javascript" src="<?php echo get_template_directory_uri(); ?>/myjavascript/calc.js"></script>
}

これを header.php の下の方、/head の前辺りに張っておきます。


スポンサーリンク

スポンサーリンク

よく使うタグ

・float クリア
<br clear="all"><div style="clear:both;" class="clearfix"></div>
・角丸め
round-radius
border-radius:5px; -webkit-border-radius:10px; -moz-border-radius:10px;
・div box
overflow:scroll;min-width:300px;max-width:300px;min-height:300px;max-height:300px;
・TEXTAREAリサイズ
resize: vertical;
・サイトURL
home_url() // http://…
if(site_url()==home_url){
$shorturl_yuzu_path = substr(ABSPATH,0,strpos( ABSPATH, substr(site_url(),strlen(home_url()) ) ) ).’/’;
}else{
$shorturl_yuzu_path = ABSPATH.’/’;
}
// /var/…
・WP HOME URL
site_url() // http://…/wp
ABSPATH // /var/…/wp
・プラグイン(自分のDIR追加必要)
plugins_url() // http://…/plugins
WP_PLUGIN_URL // http://…/plugins
WP_PLUGIN_DIR // /var/…/plugins
・使用中のテーマ
get_template_directory_uri() // http://…/theme/xx
get_template_directory() // /var/…/theme/xx
・wp-content
content_url() // http://…/wp-content
WP_CONTENT_DIR // /var/…/wp-content
・画像URLからDIR変換
$pctdir=str_replace(content_url(), WP_CONTENT_DIR,$pcturl);
・パス名分解
$pathData = pathinfo($file);
echo $pathData["dirname"]; // /var/~
echo $pathData["filename"]; // xxx
echo $pathData["extension"]; // txt
echo $pathData["basename"]; // xxx.txt
・画像サイズ
list($width,$height) = getimagesize($url);
if(has_post_thumbnail()){
$thumbnail_id = get_post_thumbnail_id();
$thumbnail_img = wp_get_attachment_image_src( $thumbnail_id , ‘full’ );
$src = $image[0]; //url
$width = $image[1]; //横幅
$height = $image[2]; //高さ
・画像サイズ比率
list($src_w,$src_h) = getimagesize($file);
$dst_w = 600;$dst_h = 0;
$dst_h = ($dst_w!=0)?(intval(($src_h*$dst_w)/$src_w )):(($dst_h!=0)?(intval(($src_w*$dst_h)/$src_h)):0);
・疑似要素順
link visited hover active


特殊文字
シングルクォート : &#39;
ダブルクォート : &quot;
WP設定内表示前処理(htmlタグ許可項目)
$str = str_replace(‘<','&lt;' ,$str);
$str = str_replace(‘>’,’&gt;’ ,$str);
$str = str_replace(‘\”‘,’&quot;’,$str);
$str = str_replace(“\'”,’&#39;’ ,$str);
WO設定項目表示前処理(htmlタグ許可項目)
$str = str_replace(‘\”‘,'”‘,$str);
$str = str_replace(“\'”,”‘”,$str);
・テーマ
get_theme_root_uri()
get_theme_root()
・WP 情報
get_bloginfo( $show )
・Wp config FTP 情報 設置
define( ‘FTP_HOST’, ‘host’ );
define( ‘FTP_USER’, ‘id’ );
define( ‘FTP_PASS’, ‘pw’ );
define( ‘FTP_SSL’, false );
弾に使う
placeholder:ユーザー入力補助

カテゴリー

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ)

FB 広告 最適化~グーグルアナリティクスとサーチコンソールの連動のさせかた(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルアナリティクスとサーチコンソール。別にグーグルのアナリティクス、サーチコンソールでなくてもアクセス解析はできるんだけど、グーグルはユーザー囲

FB 広告 最適化~グーグルアナリティクスの使い方(必要な分だけ)

FB 広告 最適化~グーグルアナリティクスの使い方(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルアナリティクス。別にグーグルのアナリティクスでなくてもアクセス解析はできるんだけど、グーグルはユーザー囲い込みの為他のアクセス解析では見せな

FB 広告 最適化~グーグルサーチコンソールの使い方(必要な分だけ)

FB 広告 最適化~グーグルサーチコンソールの使い方(必要な分だけ) FB 広告 最適化にあたって必要になってくるツールがグーグルサーチコンソール。別にグーグルのサーチコンソールでなくてもいいんだけど、グーグルはユーザー囲い込みの為他のアクセス解析では見せなくしたキーワ

FB 広告 最適化~グーグルのアクセス解析の基本

FB 広告 最適化~グーグルのアクセス解析の基本 FB広告を最適化するためには、アクセス解析が重要なカギを握ります。FB広告から当該ページに飛んでくるときURLにオプションを付けることができます。このURLにつけたオプションを使ってどの広告から、どん

jQuery ボタンを押しても反応しない

jQuery ボタンを押しても反応しない jQuery の click イベントを使ってボタンを押したら alert を表示する簡単な仕様なのになにも反応しない。一瞬はまってしまうことって・・・ありますよね?例えば、こう書きます。popup.

WP パーマリンク リダイレクト インターナルサーバーエラー

WP パーマリンク リダイレクト インターナルサーバーエラー WP パーマリンクのリダイレクトがインターナルサーバーエラーを起こすようになった。ユーザーさんのサイトなので「なにをしたか」わからない。WP パーマリンク リダイレクト インターナルサーバーエラーのい