Я работаю над небольшим плагином WordPress "Оцените все, что угодно".Этот плагин хорошо работает с отдельными постами, но на странице блога, когда есть несколько постов, плагин не может увидеть, с какого идентификатора поста был сделан клик.Он всегда принимает первое значение страницы.
Я добавил идентификатор записи в id и имена классов, чтобы решить проблему (например: post_id $ post-> ID), но теперь я заблокировал редактирование файла jquery таким образом.
php-код элемента пост-голосования:
<input type=\"hidden\" id=\"post_id$post->ID\" value=\"" . $post->ID . "\" />
<div class=\"vote\">
<table>
<tr><td>
<a class=\"vote_up\" href=\"#\"></a></td>
<td>
<a class=\"vote_down\" href=\"#\"></a></td></tr>
<tr>
<td class=\"up_perc$post->ID\">" . get_percentage(1, $post->ID ) ."%</td>
<td class=\"down_perc$post->ID\">" . get_percentage(2, $post->ID) . "% </td>
</tr>
</table></div>
<div class=\"vote_succ$post->ID\"></div>
Код jquery (для голосования вверх, голосование почти одинаково):
jQuery(document).ready(function($) {
$(".vote_up").click(function(e) {
e.preventDefault();
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {vote_type: "1", post_id: $("#post_id1").val()}, function(data) {
$(".vote_succ1").html(data);
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {action: "getPercentage", vote_type: "1", post_id: $("#post_id1").val()}, function(data2) {
$(".up_perc1").html(data2);
});
$.post('/wp-content/plugins/rate-my-whatever/rate.php', {action: "getPercentage", vote_type: "2", post_id: $("#post_id1").val()}, function(data3) {
$(".down_perc1").html(data3);
});
});
});
Iставьте статически «1» после некоторых элементов id и class, чтобы проверить, как будет решена моя проблема, он отлично работает с Post 1, id и значение которого равны «1», теперь мне нужно заменить «1» в конце #post_id, .vote_succ, .up_perc, .down_perc динамическим кодом, чтобы он работал с динамическими элементами, сгенерированными кодом php.
Спасибо за вашу помощь.