2

I've followed instructions from here and I've done the following:

  1. I've uploaded jquery.upvote.js, jquery.upvote.css, and images folder to wordpress theme folder, and registered these files as usual.

  2. I've set the jquery version to 2.0.2

  3. Put in html the basic div:

HTML

 <div id="topic" class="upvote">
    <a class="upvote"></a>
    <span class="count">0</span>
    <a class="downvote"></a>
    <a class="star"></a>
 </div>
  1. and tried to initiate the plugin:

JS

(function($){
    $(document).ready(function(){

$('#topic').upvote();
var callback = function(data) {
    $.ajax({
        url: '/vote', //I don't have this url, idk if this needs to be changed to something else
        type: 'post',
        data: { up: data.upvoted, down: data.downvoted, star: data.starred }
    });
};
    });
})(jQuery);

and it doesn't work... What am I missing?

4

3 に答える 3

3

かなり古い投稿ですが、これを で動作させる方法は次のとおりですPHP。wordpressについてはよくわかりませんが、これはニーズに合わせてカスタマイズするための良い出発点になるはずです.

  • HTML ビットを準備する ( home.html)
<html><head><title>Voting Machine</title>
<link rel="stylesheet" type="text/css" href="vote/upvote.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="event.js"></script>
<script type="text/javascript" src="vote/upvote.js"></script>
</head><body>
<div id="topic-123" class="upvote">
<a class="upvote" title="This idea is helpful"></a>
<span class="count">5</span>
<a class="downvote"></a>
<a class="star starred"></a>
</div>
<div id="message"></div>
</body>
</html>

event.js以下について説明しました

  • サーバー側を実行するための PHP ファイルを設定します ( insert.php)
<?php
 $con = mysql_connect("localhost","root","password");
 if (!$con) {
 die('Could not connect: ' . mysql_error());
 }
 mysql_select_db("ccy", $con);
 $code=$_POST['id'];
 $up=$_POST['up'];
 $down=$_POST['down'];
 $star=$_POST['star'];
 $query=mysql_query("INSERT INTO mytable(code,up,down,star) VALUES('$code','$up','$down','$star')");
if($query){
echo "Data for $name inserted successfully!";
}
else{ echo "An error occurred!" . mysql_error(); }
?>
  • 最後になりましたが、DIV から値を取得し、それを MySQL (またはその他のデータベース) に渡す必要があります。これは を使用して行われAjax postます。だからevent.js私は次のコードを持っています
$(document).ready(function(){
var callback = function(data) {
    $.ajax({
        url: 'insert.php',
        type: 'post',
        data: { id: data.id, up: data.upvoted, down: data.downvoted, star: data.starred },
         success: function(data) {
            $("#message").html(data);
$("#message").hide();
$("#message").fadeIn(1500); 
        }
    });
};
$('#topic-123').upvote({id: 123, callback: callback});


});

MySQLのテーブル構造はこのようなものであることを忘れないでください

CREATE TABLE `mytable` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` bigint(20) DEFAULT NULL,
  `up` varchar(45) DEFAULT NULL,
  `down` varchar(45) DEFAULT NULL,
  `star` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=129 DEFAULT CHARSET=utf8;

楽しむ!!!

于 2014-01-31T15:39:02.020 に答える
0

これはあなたの状況ではないかもしれませんが、ファイルを Github からローカル マシンに直接ダウンロードします。一部の HTML は、.js および .css とともに忍び込みました。jquery プラグイン サイトからのダウンロードが役に立ちました - おそらくそれもあなたの問題です。どのようなエラーが発生していますか?

于 2015-08-15T18:11:40.887 に答える
0

jQuery Upvote は、Stack Exchange サイトで使用されているような投票ウィジェットを生成します。

正しいマークアップを使用することで、<div>スタック オーバーフローの投票ウィジェットのように表示されます。オプションで、投票ボタンをクリックしたときに AJAX 呼び出しをトリガーできます。それらをトリガーすることしかできず、実装することはできません。投票システムの実装はサーバー側で行う必要があり、jQuery プラグインでは実行できません。

誰かが、投票システムのサーバー側部分を実装する WordPress プラグインを作成し、この jQuery プラグインをフロントエンドとして使用して、投票を表示し、賛成票、反対票、スターをトリガーすることができます。

于 2013-12-26T09:20:25.303 に答える