رفتن به مطلب

قرار دادن مقدار php در jquery


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

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

مقدار php که باید به جای 2500 در کد جاوا زیر قرار بگیره و نمایش دهنده تعداد کل کالای فروشگاه هست!


<?php $args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => -1 );
$products = new WP_Query( $args );?>
<?php echo $products->found_posts; ?>

مقدار جاوا و اینکه کد بالا باید بجای 2500 قرار بگیره.


<script>
jQuery(function($) {
$('.timer').countTo({
from: 1,
to: 2500,
speed: 5000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
</script>

لینک به ارسال

سلام اگر جاوا اسکریپت شما توی فایل php هست اونو به این صورت تغییر بدید


<script>
jQuery(function($) {
$('.timer').countTo({
from: 1,
to: <?php echo $products->found_posts; ?>,
speed: 5000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
</script>

لینک به ارسال

سلام اگر جاوا اسکریپت شما توی فایل php هست اونو به این صورت تغییر بدید


<script>
jQuery(function($) {
$('.timer').countTo({
from: 1,
to: <?php echo $products->found_posts; ?>,
speed: 5000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
</script>

ممنون ولی این کد جواب نمیده

لینک به ارسال

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

لینک به ارسال

این کد جاوا هست


http://jsfiddle.net/YWn9t/

و کد بالا که می بینید برای ووکامرس هست ک تعداد کالا را نمایش میده ولی با این کدها نمایش داده نمیشه

لینک به ارسال

خوب اینطور که به نظر میرسه کد شما یه پلاگین جی کوئری هست و توی یک فایل جاوا اسکریپت جداگانه هست و شما اونو توی صفحه بارگزاری می کنید. در این صورت دو راه دارید اول اینکه با تابع localize script بیاید به وردپرس مقادیر رو به صورت ارایه بدید و وردپرس براتون اونو به صورت ابجکت توی صفحه چاپ کنه. راه دومتون این هست که فایل جاواتون رو جدا اینکلود کنید و توی هوک head بیاید اون قسمت فراخوانی پلاگین جی کوئریتون رو بنویسید. یعنی یه چیزی به این صورت :


<?php
add_action('wp_head','myfunction');
function myfunction(){
$args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => -1 );
$products = new WP_Query( $args );

?>
<script>
jQuery(function($) {
$('.timer').countTo({
from: 1,
to: <?php echo $products->found_posts; ?>,
speed: 5000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
</script>
<?php
}
?>

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

موفق باشید.

لینک به ارسال

خوب اینطور که به نظر میرسه کد شما یه پلاگین جی کوئری هست و توی یک فایل جاوا اسکریپت جداگانه هست و شما اونو توی صفحه بارگزاری می کنید. در این صورت دو راه دارید اول اینکه با تابع localize script بیاید به وردپرس مقادیر رو به صورت ارایه بدید و وردپرس براتون اونو به صورت ابجکت توی صفحه چاپ کنه. راه دومتون این هست که فایل جاواتون رو جدا اینکلود کنید و توی هوک head بیاید اون قسمت فراخوانی پلاگین جی کوئریتون رو بنویسید. یعنی یه چیزی به این صورت :


<?php
add_action('wp_head','myfunction');
function myfunction(){
$args = array( 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => -1 );
$products = new WP_Query( $args );

?>
<script>
jQuery(function($) {
$('.timer').countTo({
from: 1,
to: <?php echo $products->found_posts; ?>,
speed: 5000,
refreshInterval: 50,
onComplete: function(value) {
console.debug(this);
}
});
});
</script>
<?php
}
?>

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

موفق باشید.

ممنون که وقت گذاشتید خب حالا چطور این کد را نمایش بدم ؟چون الان باید یک تگ باز کنم و کلاس timer را بهش بدم تا نمایش بده ولی وقتی این کارو می کنم باز نمایش نمیده!

البته من توی github این سورس کد را پیدا کردم و شخصی همین مشکل را داشت و نویسنده کد به اون گفته بود که اصلا تابع محصولی که گذاشتید عدد بر نمی گرداند! یعنی اصلا عدد نیست که نمایش بده!!


https://github.com/mhuggins/jquery-countTo/issues/1

لینک به ارسال

من توی دو پست پیش بهتون گفتم که شما مطمئنید اون متغییرتون خروجی میده یا نه ! . خوب حالا هم عیبی نداره حالت دیباگ وردپرستون رو فعال کنید و تا ببینید خطایی چیزی وجود داره یا نه. و دوم اینکه بیاید توی فایل اصلی پلاگین یا فایل function قالب این دستور رو بنویسید:


<?php
add_action('init','myfunction');
function myfunction(){
print_r(wp_count_posts());
die();
}
?>

و خروجی هاش رو بررسی کنید.

موفق باشید.

لینک به ارسال

من توی دو پست پیش بهتون گفتم که شما مطمئنید اون متغییرتون خروجی میده یا نه ! . خوب حالا هم عیبی نداره حالت دیباگ وردپرستون رو فعال کنید و تا ببینید خطایی چیزی وجود داره یا نه. و دوم اینکه بیاید توی فایل اصلی پلاگین یا فایل function قالب این دستور رو بنویسید:


<?php
add_action('init','myfunction');
function myfunction(){
print_r(wp_count_posts());
die();
}
?>

و خروجی هاش رو بررسی کنید.

موفق باشید.

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


stdClass Object ( [publish] => 4 [future] => 0 [draft] => 0 [pending] => 0 [private] => 0 [trash] => 0 [auto-draft] => 2 [inherit] => 0 [wc-pending] => 0 [wc-processing] => 0 [wc-on-hold] => 0 [wc-completed] => 0 [wc-cancelled] => 0 [wc-refunded] => 0 [wc-failed] => 0 )

مشکل من اینه که کدی برای نمایش تعداد ووکامرس پیدا نکردم بجز این کد

لینک به ارسال

اگر محصول منتشر شده توی ووکامرستون دارید از این کد استفاده کنید ببینید چیزی خروجی میده ؟


<?php
add_action('init','myfunction');
function myfunction(){
global $wpdb;
$result = $wpdb->get_var("SELECT count(*) FROM wp_posts WHERE post_status='publish' AND post_type='product'");
echo $result;
die();
}
?>

لینک به ارسال
اگر محصول منتشر شده توی ووکامرستون دارید از این کد استفاده کنید ببینید چیزی خروجی میده ؟
 get_var("SELECT count(*) FROM wp_posts WHERE post_status='publish' AND post_type='product'"); echo $result; die(); } ?> 

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

در صورتی دارای محصول می باشد

ویرایش شده توسط premier
لینک به ارسال

الان مشکل تعداد گرفتن محصولات حل شد با استفاده از یک افزونه و کد زیر ولی انگار مشکل من بزرگتر از این حرفاس چون کد شمارنده اعداد فارسی ساپورت نمیکنه و اینم ی مشکل دیگه برای منه چطوری میتونم کاری کنم که فارسی کانت کنه؟


<?php echo get_scp_posts(); ?>

ویرایش شده توسط premier
لینک به ارسال

ببینید اگر دیتابیس وردپرس رو خودتون درست کردید باید کلاژن اونو بزارید روی general_ci بعد اعداد انگلیسی محاسبه میشن و توی خروجی ظاهر میشن بعد از اون با افزونه wp parsidate میتونید اون ها رو فارسی نشوون بدید. زبان php از کاراکترهای چند بایتی پشتیبانی نمیکنه و باید به حالت معمولی محاسبه کنید و با شکلی متفاوت نشون بدید.

لینک به ارسال

ببینید اگر دیتابیس وردپرس رو خودتون درست کردید باید کلاژن اونو بزارید روی general_ci بعد اعداد انگلیسی محاسبه میشن و توی خروجی ظاهر میشن بعد از اون با افزونه wp parsidate میتونید اون ها رو فارسی نشوون بدید. زبان php از کاراکترهای چند بایتی پشتیبانی نمیکنه و باید به حالت معمولی محاسبه کنید و با شکلی متفاوت نشون بدید.

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

لینک به ارسال

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

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

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

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

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

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

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

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

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