contact form 7で郵便番号から住所を自動入力させる

Filed under: contactform7 — kdcs @ 2020年1月20日 月曜日

Contact Form 7の入力フォームで郵便番号から住所を自動入力させる方法

function.phpに記述する方法は「wp_enqueue_script」がエラーになるので
header.phpのhead内に記述

<script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>

コンタクトフォームを固定ページに貼り付けるコードに「html_class=”h-adr”」を付ける
※ idの数字はその時々で違うのでセッティング時にコピペする

[contact-form-7 id="xxxx" title="お問い合わせフォーム" html_class="h-adr"]

コンタクトフォームの入力フォーム例

<label> 郵便番号
    [text your-zip-code class:p-postal-code] 例)107-0052</label>
<label> ご住所(都道府県・市区町村)
    [text your-address class:p-region class:p-locality class:p-street-address] </label>
<label> 番地・建物名など
    [text your-address2 class:p-extended-address] </label>

郵便番号を3桁と4桁に分ける場合

〒[text your-zip-code class:p-postal-code maxlength:3] - [text your-zip-code2 class:p-postal-code maxlength:4]

PHP7.2で「create_function」が非推奨になる

Filed under: functions.php — kdcs @ 2020年1月17日 金曜日

PHP7.3でWordPressオリジナルテーマの動作テストを行ったところ、
「Deprecated: Function create_function() is deprecated」というエラー
これはPHP7.2から「create_function」が非推奨になったため。

該当箇所はfunction.php内に記述していた本体アップデートを非表示にする記述

add_filter('pre_site_transient_update_core', create_function('$a', "return  null;"));

こちらでcreate_functionを使用しているため

この記述を以下のように修正

//本体のアップデート通知を非表示
add_filter("pre_site_transient_update_core", "__return_null");

プラグインのアップデート通知を非表示にする場合

//プラグインのアップデート通知を非表示
add_filter("pre_site_transient_update_plugins", "__return_null");

WordPress ログインユーザーを自動ログアウトさせる

Filed under: functions.php,wordpress — kdcs @ 2020年1月15日 水曜日

ログインしたまま放置を避けるために一定時間操作が無い場合にログアウトさせる記述

function.phpに記述

//一定時間無操作で自動ログアウトする --------------------------------------------
add_action( ‘admin_init’, ‘mytheme_admin_init’ );
function mytheme_admin_init() {
add_filter( ‘auth_cookie_expiration’, ‘mytheme_auth_cookie_expiration’, 10, 3 );
$user = wp_get_current_user();
wp_set_auth_cookie( $user->ID, true );
}
function mytheme_auth_cookie_expiration( $expiration, $user_id, $remember ) {
if ( $remember ) $expiration = 3600; // 1時間 60 * 60 * 1
return $expiration;
}

$expiration = に秒数を入れる

Theme My Login

Filed under: wordpressプラグイン — kdcs @ 2020年1月8日 水曜日

レンタルサーバーがphp7系に移行している中、会員制サイトを構築する場合に利用していた「Theme My Login 6.2」はphp7に対応しておらずアップデートしようとしたが
最新版(7系)が互換性のないバージョンアップをして有料化したたため、旧6系の最終バージョンを入手する方法。

※バージョン6.2ではphp7に対応していない
※バージョン6.4はphp7に対応している

6系最終版 Theme My Login 6.4.17はこちらからDLできる

welcart 商品一覧ページに「在庫有り」のみ表示させる

Filed under: functions.php,welcart — kdcs @ 2019年12月23日 月曜日

通常は在庫有り無し関係なく公開されている商品を一覧表示するが、これを在庫がある商品だけを表示できるようにする。

チェックボックスにチェックを入れると在庫有り商品のみ表示する

<!-- 在庫ありのみ表示-->
<form method="GET" action="<?php echo get_category_link($cat); ?>">
    <input type="checkbox" name="sort" value="zaiko" onChange="this.form.submit()"
           <?php if(isset($_GET['sort']) == 'zaiko'){ echo 'checked';} ?>>
    <label>在庫有りのみ表示</label>
</form>
<!-- 在庫ありのみ表示(終了)-->

以下をfunction.phpに記述

function my_sort_item( $query ) {
    if ( is_admin() || ! $query->is_main_query() ) {
        return;
    }
    if ( $query->is_category() ) {
        $sort = isset($_GET['sort']) && is_string($_GET['sort']) ? $_GET['sort'] : '';
        $cat = isset($_GET['cat']) ? $_GET['cat'] : '';
 
        if ( $sort !== 'zaiko' ) {
            return;
        }
 
        $args = array(
            array(
                'key' => '_isku_',
                'value' => '"stocknum";s:1:"0"',
                'compare' => 'NOT LIKE',
            ),
            array(
                'key' => '_isku_',
                'value' => '"stock";s:1:"2"',
                'compare' => 'NOT LIKE',
            ),
        );
 
        $query->set('meta_query' , $args);
    }
}
add_action( 'pre_get_posts', 'my_sort_item', 10, 3);

参照するデータはWordPressデータベース、postmetaのmeta_keyが_isku_の中
stocknum=在庫数 s:1:”0″=在庫0(数値)
stock=在庫ステータス s:1:”2″=在庫ステータスが「売切れ」
0 在庫有り
1 在庫僅少
2 売切れ
3 入荷待ち
4 廃盤
※s:1の1は一桁という意味っぽい
例えば在庫数100ならs:3:”100″ 在庫数10000ならs:5:”10000″になる

サイト内検索

カテゴリー

最近の投稿

↑上に戻る