Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

WordPressのAmazonJSをiPhone7Plusから使いたい

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

WordPressのAmazonJSはWordPress5になっても使える便利なアフィリエイトコード用のプラグインなのだが、iPhone7Plusから使おうとすると、検索が終わってテンプレートを挿入しようと「選択」ボタンを押したタイミングで「挿入」ボタンが画面下にはみ出してしまい、どうやっても挿入できなくなる。Enterキーでもあればいいのだが……。

そこでプラグインをいじって解決する。

目次

環境

手順など

/wp-content/plugins/amazonjs/media-upload-type-amazonjs.phpというファイルの383行目あたりに、showTemplateFormという関数がある。

296行目のvar top = ($(window).height() / 2 - $templateForm.height() / 2) + $(window).scrollTop(); という行が、どうもiPhoneではうまく機能していないらしい。40くらいにしちゃってはどうか。

     // template form
        function showTemplateForm(item) {
            $imageTemplateSelect.attr({disabled: (item.SmallImage) ? null : 'disabled'});
            if (item.SmallImage) {
                $imageTemplateSelectLabel.removeClass('disabled');
            } else {
                $imageTemplateSelectLabel.addClass('disabled');
            }
            $overlay.height($container.height() + 40).show();
            $preview.empty();
            $previewCode.val('');
            $templateSelect.attr('checked', null);
            $insert.attr({disabled: 'disabled'});
            $templateForm.show();
            // var top = ($(window).height() / 2 - $templateForm.height() / 2) + $(window).scrollTop();//←この値がおかしい。
            var top = 40;//ここの値を適当にいい感じにしてやる
            $templateForm.css('top', top < 0 ? 0 : top);
            $('#template_amazonjs').attr('checked', 'checked').change();
        }