رفتن به مطلب

درخواست افزونه امتیاز به هر نویسنده


elshan

پست های پیشنهاد شده

سلام.بنده افزونه ای رو می خوام :

فرض کنید یک سایت چند تا نویسنده داره و هر کدوم پست می زنند تو سایت من میخوام مجموع امتیاز پست های یک نویسنده رو رو نشون بدم.یعنی امتیازی که به پست های یک نویسنده داده میشه ر.و جمع کنه و با کدی یا... نشون بده.

لینک به ارسال

سلام

نصب افزونه زیر:


http://wordpress.org/extend/plugins/wp-postratings/

در فانکشن:


// Show WP-PostRatings Total For Each Author
function author_rating_total() {
   $user_id = get_the_author_meta( 'ID' );
   $query = array (
       'author' => $user_id,
       'suppress_filters' => 'true',
       'posts_per_page' => -1
   );
   $queryObject = new WP_Query($query); while($queryObject->have_posts()) : $queryObject->the_post();
   
   $post_ratings_data = get_post_custom(get_the_id());
   $post_ratings_score = intval($post_ratings_data['ratings_score'][0]);
   
   $ratings_array[] = $post_ratings_score;
   
   endwhile;
   
   $ratings_sum = array_sum($ratings_array);
   
   if ($ratings_sum > 0) {
         $ratings_sum = '+' . $ratings_sum;
   }
      
   echo $ratings_sum;   
   
   wp_reset_query();
}

وبرای نمایش:


<?php echo author_rating_total(); ?>

لینک به ارسال
  • 2 هفته بعد...

سلام.

من از این پلاگین استفاده میکنم همچنین کد نمایش امتیاز نویسنده.

اما نمیدونم چه کدی رو برای نمایش امتیاز هر پست استفاده کنم.لطفا راهنمایی کنید.

لینک به ارسال

سلام.

من از این پلاگین استفاده میکنم همچنین کد نمایش امتیاز نویسنده.

اما نمیدونم چه کدی رو برای نمایش امتیاز هر پست استفاده کنم.لطفا راهنمایی کنید.


[ratings id="1"],

لینک به ارسال

ممنون از شما اما میخوام توی پوسته استفاده کنم.

اینی که شما دادین توی پوسته کار نمیکنه.

لینک به ارسال

ممنون از شما اما میخوام توی پوسته استفاده کنم.

اینی که شما دادین توی پوسته کار نمیکنه.

<?php echo do_shortcode("[ratings id="1"]"); ?>

لینک به ارسال

توی پوسته گذاشتم کد رو ارور زیر رو داد.


Parse error: syntax error, unexpected T_LNUMBER in /home3/ashkanre/public_html/jootix.ir/wp-content/themes/jootix.ir/sidebar.php on line 47

لینک به ارسال

توی پوسته گذاشتم کد رو ارور زیر رو داد.


Parse error: syntax error, unexpected T_LNUMBER in /home3/ashkanre/public_html/jootix.ir/wp-content/themes/jootix.ir/sidebar.php on line 47

گاهی اشتباه میشه


<?php echo do_shortcode('[ratings id="1"]'); ?>

لینک به ارسال

خیلی ممنون اما خودتون توی تصویر ببینید!

Untitled.jpg

من میخوام قسمت امتیاز تصویر ، فقط امتیاز نشون داده بشه.

اگه بخوام تنظیمات رو هم دستکاری کنم قسمت بالایی هم تغییر میکنه.

لینک به ارسال


<div class="new-rating">
<?php echo do_shortcode("[ratings id='1']"); ?>
</div>

و در style.css


.new-rating img {display:none !important;}.new-rating,.new-rating * {background:none !important;}

لینک به ارسال

ببینید من یه کد جاوا پیدا کردم.

آیا این برای افزونه ای هست یا اینکه نه با خود این کد میشه امتیاز دهی درست کرد؟

لطفا راهنمایی کنید که چجور میتونم از این برای امتیاز دهی به پست استفاده کنم.مثل زیر:(بالا امتیاز داده بشه و پایین امتیاز نشون داده بشه.)

point.jpg


$(document).ready(function() {
// plus picture function
$("input[@class=pluspictures]").click(function() {
var a = $(this).attr('name');
var uid = document.getElementById("userid").value;

if(uid != ''){
jQuery.ajax({
data: 'target=pictures&target_id=' + a + '&vote=1',
type: "POST",
url: voteURL,
timeout: 30000,
error: function() {
alert(errors[0]);
},
success: function(r) {
voteHere(a,r);

}
});
}
else{
$(".registrationblock").trigger('click');
}
});
// minus picture function
$("input[@class=minuspictures]").click(function() {
var a = $(this).attr('name');
jQuery.ajax({
data: 'target=pictures&target_id=' + a + '&vote=-1',
type: "POST",
url: voteURL,
timeout: 30000,
error: function() {
alert(errors[0]);
},
success: function(r) {
voteHere(a,r);
}
});
});
$("a[@class=showTooltip]").tooltip({
delay: 0,
showURL: false,
opacity: 0.85,
track: true,
bodyHandler: function() {
return $("<img/>").attr("src", this.rel);
}
});
$(".sideMenu,.sideMenuBlackHover").corner('10');

});
function voteHere(a,r) {

var results = 'picturesresults' + a;
var errortarget = 'pictureserror' + a;
var nexturl = 'next' + a;
$('#'+ "plus" + a).fadeOut("slow");
$('#'+ "minus" + a).fadeOut("slow");
var chunks = r.split('|||');
if(chunks[0] == '1') {
var this_error = errors[-1];
} else if(chunks[0] == '4') {
var this_error = errors[4];
} else if(chunks[0] < 0) {
var this_error = errors[1];
} else if(chunks[0] == '0') {
var this_error = errors[2];
} else {
var this_error = errors[3];
}
if(typeof(chunks[3]) == 'string') { $('#' + errortarget).text(chunks[3]) } else if (this_error) { $('#' + errortarget).text(this_error) };
$('#' + results).text(chunks[1]);
$('#' + results).attr('class','voted');
var redirect = $('#' + nexturl).attr('value');
// if(typeof(redirect) == 'string') window.location = redirect;
}

لینک به ارسال

ببینید من یه کد جاوا پیدا کردم.

آیا این برای افزونه ای هست یا اینکه نه با خود این کد میشه امتیاز دهی درست کرد؟

لطفا راهنمایی کنید که چجور میتونم از این برای امتیاز دهی به پست استفاده کنم.مثل زیر :(بالا امتیاز داده بشه و پایین امتیاز نشون داده بشه.)

point.jpg


$(document).ready(function() {
// plus picture function
$("input[@class=pluspictures]").click(function() {
var a = $(this).attr('name');
var uid = document.getElementById("userid").value;

if(uid != ''){
jQuery.ajax({
data: 'target=pictures&target_id=' + a + '&vote=1',
type: "POST",
url: voteURL,
timeout: 30000,
error: function() {
alert(errors[0]);
},
success: function(r) {
voteHere(a,r);

}
});
}
else{
$(".registrationblock").trigger('click');
}
});
// minus picture function
$("input[@class=minuspictures]").click(function() {
var a = $(this).attr('name');
jQuery.ajax({
data: 'target=pictures&target_id=' + a + '&vote=-1',
type: "POST",
url: voteURL,
timeout: 30000,
error: function() {
alert(errors[0]);
},
success: function(r) {
voteHere(a,r);
}
});
});
$("a[@class=showTooltip]").tooltip({
delay: 0,
showURL: false,
opacity: 0.85,
track: true,
bodyHandler: function() {
return $("<img/>").attr("src", this.rel);
}
});
$(".sideMenu,.sideMenuBlackHover").corner('10');

});
function voteHere(a,r) {

var results = 'picturesresults' + a;
var errortarget = 'pictureserror' + a;
var nexturl = 'next' + a;
$('#'+ "plus" + a).fadeOut("slow");
$('#'+ "minus" + a).fadeOut("slow");
var chunks = r.split('|||');
if(chunks[0] == '1') {
var this_error = errors[-1];
} else if(chunks[0] == '4') {
var this_error = errors[4];
} else if(chunks[0] < 0) {
var this_error = errors[1];
} else if(chunks[0] == '0') {
var this_error = errors[2];
} else {
var this_error = errors[3];
}
if(typeof(chunks[3]) == 'string') { $('#' + errortarget).text(chunks[3]) } else if (this_error) { $('#' + errortarget).text(this_error) };
$('#' + results).text(chunks[1]);
$('#' + results).attr('class','voted');
var redirect = $('#' + nexturl).attr('value');
// if(typeof(redirect) == 'string') window.location = redirect;
}

جاوا اسکریپت در زیبا سازی و انیمیشن دادن به فرم یا ولید کردن یک فرم و مسائلی از این قبیل کاربرد داره کد باید به وسیله php به دیتابیس معرفی بشه تا بتونه امتیاز را در جایی ثبت کنه والا هربار صفحه رفرش بشه امتیازش هم صفر می شه

برای امتیاز دهی به مطالب صدها افزونه است نیازی به این کدها نیست

http://wordpress.org/extend/plugins/search.php?q=rating

لینک به ارسال
  • 2 هفته بعد...

سلامی دوباره خدمت دوستان عزیز :wub:

این کد افزونه post rating در فایل postrating.php هستش.

این کد اصلی نمایش تصویر vote و نمایش امتیاز پست هست:


<?php if(function_exists('the_ratings')) { the_ratings(); } ?>

حالا من چی میخوام؟

من میخوام که فقط عدد امتیاز داده شده رو نشون بده چون از کد بالایی در جایی دیگه استفاده میکنم.

در کد زیر همونطور که میبینید کارش نمایش امتیاز هست.


### Function: Display Ratings Results
function the_ratings_results($post_id, $new_user = 0, $new_score = 0, $new_average = 0, $type = 0) {
if($new_user == 0 && $new_score == 0 && $new_average == 0) {
$post_ratings_data = null;
} else {
$post_ratings_data = new stdClass();
$post_ratings_data->ratings_users = $new_user;
$post_ratings_data->ratings_score = $new_score;
$post_ratings_data->ratings_average = $new_average;
}

حالا من از این کد فقط میخوام که تابع زیر رو فقط نمایش بده.


$post_ratings_data->ratings_score = $new_score;

خیلی خیلی ممنون بابت کمک های شما.

لینک به ارسال

با عرض معذرت.

آقا اینم ادامه همون کد هست من بیشتر کد هاش رو امتحان کردم اما نمیدونم دقیقا چجور استفادش کنم.

یه جورایی اشتباه استفاده میکنم.


### Function: Display Ratings Results
function the_ratings_results($post_id, $new_user = 0, $new_score = 0, $new_average = 0, $type = 0) {
if($new_user == 0 && $new_score == 0 && $new_average == 0) {
$post_ratings_data = null;
} else {
$post_ratings_data = new stdClass();
$post_ratings_data->ratings_users = $new_user;
$post_ratings_data->ratings_score = $new_score;
$post_ratings_data->ratings_average = $new_average;
}
// Display The Contents
if($type == 1) {
$template_postratings_text = stripslashes(get_option('postratings_template_permission'));
} else {
$template_postratings_text = stripslashes(get_option('postratings_template_text'));
}
// Return Post Ratings Template
return expand_ratings_template($template_postratings_text, $post_id, $post_ratings_data);
}

### Function: Display Ratings Vote
function the_ratings_vote($post_id, $new_user = 0, $new_score = 0, $new_average = 0) {
if($new_user == 0 && $new_score == 0 && $new_average == 0) {
$post_ratings_data = null;
} else {
$post_ratings_data->ratings_users = $new_user;
$post_ratings_data->ratings_score = $new_score;
$post_ratings_data->ratings_average = $new_average;
}
// If No Ratings, Return No Ratings templae
if(get_post_meta($post_id, 'ratings_users', true) == 0) {
$template_postratings_none = stripslashes(get_option('postratings_template_none'));
// Return Post Ratings Template
return expand_ratings_template($template_postratings_none, $post_id, $post_ratings_data);
} else {
// Display The Contents
$template_postratings_vote = stripslashes(get_option('postratings_template_vote'));
// Return Post Ratings Voting Template
return expand_ratings_template($template_postratings_vote, $post_id, $post_ratings_data);
}
}

لینک به ارسال

افزونه بعد از نصب سایدبار به ابزارک ها اضافه می کنه بجای کد از ابزارک استفاده کنید

من واقعا متوجه نشدم چی کار می خواهید بکنید و مشکل چیه

لینک به ارسال

ببینید آقا ایمان این افزونه وقتی با کد


<?php if(function_exists('the_ratings')) { the_ratings(); } ?>

در پوسته فراخوانی میشه.

با توجه به template هایی که براش تنظیم کردیم نشون داده میشه.

حالا با توجه به این عکس

Untitled.jpg

قسمت بالا که هم عکس هست هم امتیاز تصویر.اون با استفاده از template های خود افزونه هستش.

اما من میخوام با تمپلت فقط تصویر رو نشون بده و امتیاز تصویر رو نشنو نده.(که این کار رو بلدم.)

اما من میخوام امتیاز تصویر به صورت جداگانه و بدون تصویر در قسمت اطلاعات تصویر نمایش داده بشه.

که اون کد طولانی که بالا گذاشتم شاید کمکی کنه.

این افزونه برای نمایش تصویر از یه تابع استفاده میکنه و برای نمایش امتیاز هم یه تابع،نمایش تعداد رای دهنده ها هم یه تابع و...

اگه کمک کنید و تابع فراخوانی امتیاز هر پست رو کمک کنید فراخوانی کنم ممنون میشم.

امیدوارم واضح گفته باشم.با تشکر.

لینک به ارسال

فقط میخواین نمایش داده بشه؟ اگر فقط بخث نمایش هست میشه با جی کوئری حلش کرد

لینک به ارسال

تمپلیت ها را اینگونه ویرایش کنید


%RATINGS_IMAGES_VOTE%

را داخل یک span با کلاسی مشخص مثل ratingImage قرار دهید و


%RATINGS_USERS%

رو هم در یک لایه دیگه چیزی شبیه


<span class="myRatingImage">
%RATINGS_IMAGES_VOTE% </span><span class="myRatingUsers">%RATINGS_USERS%</span>

در قالبتون بگذارید


<div class="ratingP1"><?php if(function_exists('the_ratings')) { the_ratings(); } ?></div>
.....
<div class="ratingP2"><?php if(function_exists('the_ratings')) { the_ratings(); } ?></div>

در style.css وارد کنید


.ratingP1 .myRatingUsers,.ratingP2 myRatingImage {display:none}

لینک به ارسال

آقا با یکم تغییرات و کد های قبلی که دادین درست شد.


.ratingP1 .myRatingUsers {display:none}
.ratingP2 .myRatingImage img {display:none !important;}

با اون استایل قبلی کار زیاد تغییر نکرد.(در اصل امتیاز دو تصویر رو با هم برداشت)

اما با کدی که اول پست دادین تصویر کد ratingP2 رو مخفی کردم و با همی استایل بالا امتیاز ratingP1 رو مخفی کردم.

اینم تصویر:

Untitled.jpg

آقا ایمان دستتون درد نکنه واقعا شرمنده کردین امیدوارم بتونم جبران کنم.

البته خوشحال نشین بازم مزاحم میشم.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...