忍者ブログ
27 April

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

26 July

Intuitive Custom Post Order が動かない ドラッグ&ドロップできない

https://yuki.world/intuitive-custom-post-order-disfunction/
解決:Chrome以外のブラウザでやる

キャッシュ削除は色々厳しいため、Chrome以外のブラウザでやる
最近Chromeのみおかしい挙動が増えてイライラする
なんかおかしい、できない、なんで、と思って別ブラウザで見るとおかしくないということが
何度もある
かつてのIEみたいになってるんだけど何なの????!!!!
24 July

動画ポップアップ 一番簡単Lity

https://sorgalla.com/lity/

youtubeポップアップはよくあるが、FTPにアップしたmp4とかのWPプラグインがすぐに出てこない
このLityは画像や動画などを指定すること無く勝手に判別してくれるみたいで
すごくかんたん
27 April

ヘッダーが途中から固定

ありがたいコード
https://nodoame.net/archives/8610
https://lightning-bolt.xyz/js/jquery.tgScrollAndFixedNav/

スクロールしたときにガクッとするのがないです
するコードもある
position:stikyが超便利じゃん!IE無視していい今こそ使おう!と思って使ってみたが
なんかそんな機能あるね、程度で使いにくかった

1、stikyを囲ってる枠のどこかにoverflow:hiddenがあったら使えない
これくそすぎ。bodyやhtmlにすでについてるThemeとかあるじゃん
私はなんでもかんでもは使わないようにしてるけど、はみ出たときに対処法がわからんかったら
最終手段でoverflow:hidden使うとかある

2、追尾している間にという条件分岐がない
スクロールしてるときにヘッダーの形を変えたいとかある
コンパクトに成形するとか
だが一番topならスクロールしてるときの条件でいいけど、途中から追尾なら無理
なんかめんどくせーコードを自分で書かなきゃいけない
ならもstikyつかわねーよってなる
17 April

Contact Form 7 add confirmがCF75.4から動作しなくなった件

ありがたいサイト 確認画面アドオンが動作するように対応するコード
https://www.progress-llc.co.jp/blog/post-20210318/

ありがたいサイト 完了画面へのリダイレクト
https://engun.co.jp/wordpress-contact-form-7-thanks_page/

※ただし送信完了メッセージがでなくなるので、完了画面を固定ページで作る。
※完了画面に飛ぶ。メールフォーム書き込むとこの下にこれを入れておく
<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = 'http://◯◯◯/thanks';
}, false );
</script>


2021/4月に新しいサイトを作ったところ、「確認」ボタン後の挙動がおかしい…
cf7は重要な仕様変えまくるので拡張アドオンが動作しないとかよくある
調べてみるとcf75.4のアプデで「add confirm」が動作しなくなったらしい
応急処置は上記サイトで出来たからいいとして、あーどうしようかなー
全部のサイトこれ使ってるんですけどー

MWWPFORM使いたくない
設定がめんどくさい
日本の確認画面と完了画面文化滅んでほしい
お問い合わせフォームで工数釣り上げないとめんどくさくてやってられねーよ

ーーーーーーーーーーーーーーーーー
plugins/contact-form-7-add-confirm/includes/js/scripts.js

(function(jQuery){
if(jQuery(".wpcf7c-elm-step1").length != 0) {
// 対象有り
jQuery(".wpcf7c-elm-step1").each(function(){
// 親のフォームを検索
var parent = jQuery(this).parents("form");
if(parent.attr("wpcf7c") == undefined) {
// elm-submitをsubmitボタンへもセット
parent.find(".wpcf7-submit").addClass("wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
parent.find(".ajax-loader").addClass("wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
// ajax用ID退避,処理済みフラグセット
var hidden_wpcf7 = parent.find("input[name=_wpcf7]");
var _wpcf7 = hidden_wpcf7.val();
parent.attr("wpcf7c", _wpcf7);
parent.attr("step", 1);
hidden_wpcf7.after('<input type="hidden" name="_wpcf7c" value="step1" />');
//parent.find("input[name=_wpcf7]").val("");
// 不要要素非表示
parent.find(".wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step3").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step1").removeClass("wpcf7c-force-hide");
// 戻って編集ボタン挙動
parent.find(".wpcf7c-btn-back").on("click", function(){
wpcf7c_to_step1(parent, true);
return false;
});
}
});
}
})(jQuery);
var wpcf7c_to_step1 = function(parent, scroll){
parent.find(".wpcf7c-conf").each(function(){
// 親フォーム
var parent_form = jQuery(this).parents("form");
jQuery(this).removeAttr("disabled").removeAttr("readonly").removeClass("wpcf7c-conf");
});
jQuery(".wpcf7c-conf-hidden").remove();
parent.find(".wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step3").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step1").removeClass("wpcf7c-force-hide");
parent.find("input[name=_wpcf7c]").val("step1");
var responseOutput = parent.find('div.wpcf7-response-output');
responseOutput.removeClass("wpcf7c-force-hide");
responseOutput.removeClass("wpcf7-mail-sent-ng");
responseOutput.css("display", "none");
parent.find(".ajax-loader").addClass("wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
// スムーズスクロール
if(scroll) {
// スムーズスクロール
setTimeout(function() { wpcf7c_scroll(parent.find("input[name=_wpcf7_unit_tag]").val()) }, 100);
// 確認ボタン挙動 https://www.progress-llc.co.jp/blog/post-20210318/
       parent.find(".wpcf7c-btn-confirm").on("click", function() {
         responseOutput.css("display", "");
       });
}
}
var wpcf7c_step1 = function(unit_tag){
// 確認完了
// 対象フォーム検索
//var elm_unit_tag = jQuery.find("input[name=_wpcf7_unit_tag]");
jQuery(jQuery.find("input[name=_wpcf7_unit_tag]")).each(function(){
if(jQuery(this).val() == unit_tag) {
var parent = jQuery(this).parents("form");
var responseOutput = parent.find('div.wpcf7-response-output');
responseOutput.addClass("wpcf7c-force-hide");
// 確認画面表示
// テキストエリアを伸ばす
parent.find("textarea").each(function(){
if(this.scrollHeight > this.offsetHeight){
this.style.height = (this.scrollHeight + 10) + 'px';
}
});
parent.find("textarea").attr("readonly", true).addClass("wpcf7c-conf");
parent.find("select").each(function(){
jQuery(this).attr("readonly", true).attr("disabled", true).addClass("wpcf7c-conf");
jQuery(this).after(
jQuery('<input type="hidden" />').attr("name", jQuery(this).attr("name")).val(jQuery(this).val()).addClass("wpcf7c-conf-hidden")
);
});
parent.find("input").each(function(){
switch(jQuery(this).attr("type")) {
case "submit":
case "button":
case "hidden":
case "image":
// なにもしない
break;
case "radio":
case "checkbox":
// 選択されているものだけ対処
jQuery(this).attr("readonly", true).attr("disabled", true).addClass("wpcf7c-conf");
if(jQuery(this).is(":checked")) {
jQuery(this).after(
jQuery('<input type="hidden" />').attr("name", jQuery(this).attr("name")).val(jQuery(this).val()).addClass("wpcf7c-conf-hidden")
);
}
break;
case "file":
jQuery(this).attr("readonly", true).addClass("wpcf7c-elm-step1").addClass("wpcf7c-force-hide");
jQuery(this).after(
jQuery('<input type="text" />').attr("name", (jQuery(this).attr("name") + "_conf")).val(jQuery(this).val()).addClass("wpcf7c-conf-hidden").addClass("wpcf7c-conf").attr("readonly", true).attr("disabled", true)
);
break;
default:
jQuery(this).attr("readonly", true).addClass("wpcf7c-conf");
jQuery(this).after(
jQuery('<input type="hidden" />').attr("name", jQuery(this).attr("name")).val(jQuery(this).val()).addClass("wpcf7c-conf-hidden")
);
break;
}
});
// 表示切替
parent.find(".wpcf7c-elm-step1").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step3").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step2").removeClass("wpcf7c-force-hide");
parent.find(".ajax-loader").removeClass("wpcf7c-force-hide");
parent.find("input[name=_wpcf7c]").val("step2");
// スムーズスクロール
setTimeout(function() { wpcf7c_scroll(unit_tag) }, 100);
}
});
}
var wpcf7c_scroll = function(unit_tag) {
// エラーの時などにアンカーまでスクロール
jQuery(jQuery.find("input[name=_wpcf7_unit_tag]")).each(function(){
if(jQuery(this).val() == unit_tag) {
var parent = jQuery(this).parents("form");
var speed = 1000;
var position = parent.offset().top;
if(jQuery('.wpcf7c-anchor').length != 0) {
position = jQuery('.wpcf7c-anchor').offset().top;
}
jQuery("html, body").animate({scrollTop:position}, speed, "swing");
}
});
}
var wpcf7c_step2 = function(unit_tag){
// 確認完了
// 対象フォーム検索
//var elm_unit_tag = jQuery.find("input[name=_wpcf7_unit_tag]");
jQuery(jQuery.find("input[name=_wpcf7_unit_tag]")).each(function(){
if(jQuery(this).val() == unit_tag) {
var parent = jQuery(this).parents("form");
var responseOutput = parent.find('div.wpcf7-response-output');
responseOutput.removeClass("wpcf7c-force-hide");
// step1状態の画面表示
wpcf7c_to_step1(parent);
// step3の要素があれば、それに切り替える
if(parent.find(".wpcf7c-elm-step3").length != 0) {
// 表示切替
parent.find(".wpcf7c-elm-step1").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step2").addClass("wpcf7c-force-hide");
parent.find(".wpcf7c-elm-step3").removeClass("wpcf7c-force-hide");
}
}
});
}
var wpcf7c_step2_error = function(unit_tag) {
jQuery(jQuery.find("input[name=_wpcf7_unit_tag]")).each(function(){
if(jQuery(this).val() == unit_tag) {
var parent = jQuery(this).parents("form");
var responseOutput = parent.find('div.wpcf7-response-output');
responseOutput.removeClass("wpcf7c-force-hide");
}
});
}
/*document.addEventListener( 'wpcf7submit', function( event ) {
switch ( event.detail.status ) {
case 'wpcf7c_confirmed':
wpcf7c_step1(event.detail.id);
break;
case 'mail_sent':
wpcf7c_step2(event.detail.id);
break;
}*/
/*    https://www.progress-llc.co.jp/blog/post-20210318/   */
 document.addEventListener( 'wpcf7submit', function( event ) {
        switch ( event.detail.status ) {
        case 'wpcf7c_confirmed':
        wpcf7c_step1(event.detail.id);
        wpcf7c_step1(event.detail.unitTag);
break;
case 'mail_sent':
   wpcf7c_step2(event.detail.id);
   wpcf7c_step2(event.detail.unitTag);
break;
}
}, false );