質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

87.60%

wp-customer-reviewsの星評価を付けられない

受付中

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,570

score 20

すみません、ワードプレスのプラグインwp-customer-reviewsについてです。
(以前もwp-customer-reviewsについて質問させていただいた者です。)

ざっくりとした内容で申し訳ないのですがご相談させてください。

wp-customer-reviewsは☆評価のレビュー投稿を可能にするプラグインですが、
☆☆☆☆☆のいずれかのボタンを押して5段階評価を設定します。

ですが、なぜか★☆☆☆☆しか選ぶことができません。

その他の☆の部分は、カーソルを合わせるとカーソルの形は変わるので、ボタンとして認識されてはいるようですが、
☆をクリックしても何も起こらず、★になることもありません。(マウスオーバー時も変化はありません)

テーマを切り替えるとこの事象は起こらず正常に動作するので、
テーマが干渉しているものと思われます。(THE THORというテーマを使用しています)

そこで、どの部分が干渉しているかを調べたいのですが、
wp-customer-reviewsの中でどの部分が問題となっているか、ざっくりでも構わないので教えていただくことはできますでしょうか。

☆評価の箇所は
<div class="wpcr3_rating_stars">{{rating_stars}}</div>
で指定されており、
jsのファイルでrating_starsの記載がある個所を参照しました。
が、jsの知識がほとんどなく、WEBで調べながら試行錯誤してみましたが該当箇所がわかりません。

知識が浅い中プラグイン編集に手を付けるのは分不相応だと思うのですが、
このテーマでどうしても実装したく、何かヒントをいただければと思っています。

以下にwp-customer-reviewsのjsファイルのコードを記載します。
※すみません、該当箇所の特定ができておらず、全文をコピペします。

影響している箇所がわかれば、その部分をとっかかりに調べていこうと思っています。
知識不足でここで質問するのもお恥ずかしいのですが、何卒よろしくお願いいたします。

…………………………………………………………………………
var wpcr3 = wpcr3 || {};
wpcr3.mousemove_total = 0;
wpcr3.keypress_total = 0;
wpcr3.mousemove_need = 5;
wpcr3.keypress_need = 5;

wpcr3.getPostUrl = function(elm) {
var ajaxurl = elm.attr("data-ajaxurl");
ajaxurl = JSON.parse(ajaxurl);
ajaxurl = ajaxurl.join('.').replace(/\|/g,'/')
return ajaxurl;
};

wpcr3.onhover = function() {
var $ = jQuery;
$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("click.wpcr3");
$(".wpcr3_respond_2 .wpcr3_rating_style1_base").addClass('wpcr3_hide');
$(".wpcr3_respond_2 .wpcr3_rating_style1_status").removeClass('wpcr3_hide');
};

wpcr3.set_hover = function() {
var $ = jQuery;
$(".wpcr3_frating").val("");
$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("click.wpcr3");
wpcr3.onhover();
};

wpcr3.showform = function() {
var $ = jQuery;
var t = $(this);
var parent = t.closest(".wpcr3_respond_1");

var btn1 = parent.find(".wpcr3_respond_3 .wpcr3_show_btn");
var resp2 = parent.find(".wpcr3_respond_2");
resp2.slideToggle(400, function() {
parent.find(".wpcr3_table_2").find("input:text:visible:first").focus();
if (resp2.is(":visible")) {
btn1.addClass('wpcr3_hide');
} else {
btn1.removeClass('wpcr3_hide');
}
});
};

wpcr3.ajaxPost = function(parent, data, cb) {
return jQuery.ajax({
type : "POST",
url : wpcr3.getPostUrl(parent),
data : data,
dataType : "json",
success : function(rtn) {
if (rtn.err.length) {
rtn.err = rtn.err.join('\n');
alert(rtn.err);
wpcr3.enableSubmit();
return cb(rtn.err);
}

return cb(null, rtn);
},
error : function(rtn) {
alert('An unknown error has occurred. E01');
wpcr3.enableSubmit();
}
});
};

wpcr3.submit = function(e) {
var $ = jQuery;
var t = $(this);
var parent = t.closest(".wpcr3_respond_1");
e.preventDefault();

var div2 = parent.find('.wpcr3_div_2'), submit = div2.find('.wpcr3_submit_btn');
var c1 = parent.find('.wpcr3_fconfirm1'), c2 = parent.find('.wpcr3_fconfirm2'), c3 = parent.find('.wpcr3_fconfirm3');
var fake_website = parent.find('.wpcr3_fake_website'), fake_url = parent.find('.wpcr3_fake_url');

if (submit.hasClass('wpcr3_disabled')) { return false; }

if (wpcr3.mousemove_total <= wpcr3.mousemove_need || wpcr3.keypress_total <= wpcr3.keypress_need) {
alert('You did not pass our human detection check. Code '+wpcr3.mousemove_total+','+wpcr3.keypress_total);
return false;
}

var c1_fail = (c1.is(':checked') === true), c2_fail = (c2.is(':checked') === false), c3_fail = (c3.is(':checked') === false);
var fake_fail = (fake_website.val().length > 0);
if (c1_fail || c3_fail || fake_fail) {
alert('You did not pass our bot detection check. Code '+c1_fail+','+c3_fail+','+fake_fail);
return false;
}
if (c2_fail) {
alert('You must check the box to confirm you are human.');
return false;
}

var fields = div2.find('input,textarea');

var req = [];
$.each(fields, function(i,v) {
v = $(v);
if (v.hasClass('wpcr3_required') && $.trim(v.val()).length === 0) {
var label = div2.find('label[for="'+v.attr('id')+'"]'), err = '';
if (label.length) {
err = $.trim(label.text().replace(':',''))+' is required.';
} else {
err = 'A required field has not been filled out.';
}
req.push(err);
}
});

if (req.length > 0) {
req = req.join("\n");
alert(req);
return false;
}

submit.addClass('wpcr3_disabled');

var postid = parent.attr("data-postid");
div2.find('.wpcr3_checkid').remove();
div2.append('<input type="hidden" name="wpcr3_checkid" class="wpcr3_checkid" value="'+postid+'" />');
div2.append('<input type="hidden" name="wpcr3_ajaxAct" class="wpcr3_checkid" value="form" />');
fields = div2.find('input,textarea');

var ajaxData = {};
fields.each(function(i, v) {
v = $(v), val = v.val();
if (v.attr('type') === 'checkbox' && v.is(':checked') === false) { val = '0'; }
ajaxData[v.attr('name')] = val;
});

wpcr3.ajaxPost(parent, ajaxData, function(err, rtn) {
if (err) { return; }

alert('Thank you! Your review has been received and will be posted soon.');
$(window).scrollTop(0);
wpcr3.clearFields();
parent.find(".wpcr3_cancel_btn").click();
});
};

wpcr3.clearFields = function() {
var $ = jQuery;
var div2 = $('.wpcr3_div_2'), fields = div2.find('input,textarea');;
wpcr3.enableSubmit();
fields.attr('autocomplete', 'off').not('[type="checkbox"], [type="hidden"]').val('');
};

wpcr3.enableSubmit = function() {
var $ = jQuery;
var div2 = $('.wpcr3_div_2'), submit = div2.find('.wpcr3_submit_btn');
submit.removeClass('wpcr3_disabled');
};

wpcr3.init = function() {
var $ = jQuery;

$(".wpcr3_respond_3 .wpcr3_show_btn, .wpcr3_respond_2 .wpcr3_cancel_btn").click(wpcr3.showform);

var evt_1 = 'mousemove.wpcr3 touchmove.wpcr3';
$(document).bind(evt_1, function() {
wpcr3.mousemove_total++; if (wpcr3.mousemove_total > wpcr3.mousemove_need) { $(document).unbind(evt_1); }
});

var evt_2 = 'keypress.wpcr3 keydown.wpcr3';
$(document).bind(evt_2, function() {
wpcr3.keypress_total++; if (wpcr3.keypress_total > wpcr3.keypress_need) { $(document).unbind(evt_2); }
});

$(".wpcr3_respond_2 .wpcr3_rating_style1_score > div").click(function(e) {
e.preventDefault();
e.stopImmediatePropagation();

var wpcr3_rating = $(this).html(), new_w = 20 * wpcr3_rating + "%";
$(".wpcr3_frating").val(wpcr3_rating);
$(".wpcr3_respond_2 .wpcr3_rating_style1_base").removeClass('wpcr3_hide');
$(".wpcr3_respond_2 .wpcr3_rating_style1_average").css("width",new_w);
$(".wpcr3_respond_2 .wpcr3_rating_style1_status").addClass('wpcr3_hide');

$(".wpcr3_respond_2 .wpcr3_rating_stars").unbind("mouseover.wpcr3").bind("click.wpcr3", wpcr3.set_hover);

return false;
});

$(".wpcr3_respond_2 .wpcr3_rating_stars").bind("mouseover.wpcr3", wpcr3.onhover);

var pagingCb = function(e) {
e.preventDefault();
var t = $(this);
if (t.hasClass("wpcr3_disabled")) { return false; }

var parent = t.parents(".wpcr3_respond_1:first");
var pager = t.parents(".wpcr3_pagination:first");
var reviews = parent.find(".wpcr3_reviews_holder");
var page = t.attr("data-page");
var pageOpts = pager.attr("data-page-opts");
var on_postid = parent.attr("data-on-postid");

var ajaxData = { ajaxAct : "pager", on_postid : on_postid, page : page, pageOpts : pageOpts };
wpcr3.ajaxPost(parent, ajaxData, function(err, rtn) {
if (err) { return; }

reviews.html(rtn.output);
pager.remove();
$('html,body').animate({
scrollTop : (reviews.offset().top - 100)
});
});    
};

if ($("body").on !== undefined) {
$(".wpcr3_respond_1").on("click", ".wpcr3_pagination .wpcr3_a", pagingCb);
} else {
// support older versions of jQuery
$(".wpcr3_respond_1 .wpcr3_pagination .wpcr3_a").live("click", pagingCb);
}

var div2 = $('.wpcr3_div_2'), submit = div2.find('.wpcr3_submit_btn');
submit.click(wpcr3.submit);

wpcr3.clearFields();
};

jQuery(function() {
wpcr3.init();
});

…………………………………………………………………………

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    退会済みユーザー

    2019/03/21 17:47

    ご自分で調査を続けるのであれば、Webブラウザの開発者ツールなどでJavaScriptでエラーが出ていないか調べてみるのがよいと思います。

    キャンセル

  • sakura2685

    2019/03/21 18:16 編集

    コンソールで見てもjsエラーが出てこないのです。
    フォーラムも見てみましたがこのプラグインの記事はありませんでした。トールのフォーラムではプラグイン干渉については解説していないようです。
    とっかかりの部分がどこなのかヒントがあればと思うのですが…

    キャンセル

  • ISAMIKONDO

    2020/01/14 13:57

    sakura2685様
    初めまして。私もまったく同じ条件で困っています。
    その後、解決されましたか?
    解決されたようであればぜひ教えて下さい。

    キャンセル

回答 1

-1

こちら解決できます。お問い合わせください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 87.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る