[wp] Download Managerでダウンロードできない場合の対処法

めんどくさいですね。

経緯

WPにファイルダウンロードの機能をつけたくなった。

直リンさせるよりもプラグインで管理したほうがスマートで、多分運営時にも楽になるかと思った。

プラグイン「Download Manager」を入れた。

Download Manager
このファイル管理 & デジタルストアプラグインは、ファイルのダウンロードを制御し、WP サイトからデジタル製品を販売するのに役立ちます。

テスト用に軽いzipファイルを作ってアップして、生成されたショートコードをサンプルページに貼り付けた。

ページ上にダウンロードリンクが表示された。

クリックしてもダウンロードされない。

設定を変更する

調べたところによればjsが動いてないのが原因らしい。
なので、設定自体を変えてしまう。

WP管理画面左メニュー「ダウンロード」→「設定」をクリック。
ページ内メニューの「Basic」が表示されていることを確認して、下にスクロール。
「ファイルダウンロード」内で、「ダウンロードリンクのマスク」がチェックされているので「ダウンロードリンクのマスクを解除」に変更、「設定を保存」をクリック。

これでダウンロードできるようになる。

原因について

自作テーマで使おうとしてたわけで。

jQueryのライブラリを、wp標準のを切って自分で任意のライブラリを登録していた。
これを戻したら動いた。

だから、wp標準のjQueryライブラリを使ってたらそのまま使える、という話だった。

そういう縛りがなく動いてくれるものばかりだったから、jQuery依存のプラグインは珍しいのかもしれない。

もしwp標準のjQueryライブラリの状態で自作jsが動かなくなったら、それはwp初心者が躓くアレに対処すれば済む話なので慌てなくて良い。

一番手っ取り早いのは、jquery用jsの内容をラッピングする。

jQuery(function($){

$(function(){
    ⋮
})

});

囲うだけで済むから楽。
「$」を「jQuery」に置換するのはめんどくさいしね。

自作でwp_enqueue_script()でjQuery依存のものを読み込んでる場合は「jquery」と紐づける。

add_action('wp_enqueue_scripts', 'add_headFiles');
function add_headFiles() {
    if(is_admin()) return;
    wp_enqueue_script('scripts', get_template_directory_uri() .'/js/scripts.js', array('jquery'), '');
}

コメント

タイトルとURLをコピーしました