nikanwp 629 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 add_action('wp_head','link');function link(){ echo '<a href="http://www.progpars.com">salam</a>';}من به فرض کدی مینویسم برای پلاگین سپس تابع رو در قالبم فراخوانی میکنم :<?php link(); ?>اما سوال :وقتی افزونه رو فعال میکنیم جایی که ما تابع رو فراخوندیم لینک Salam میاد ولی وقتی افزونه رو غیر فعال میکنیم به جای salam با پیغام خطا مواجه میشم میخوام بدونم چه دستوری باید بنویسم در صورت غیر فعال سازی افزونه اخطاری نشون نده یا جاش بنویسه افزونه غیر فعال ... نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 if( function_exists('link') ){ link();} 6 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 آقا مرتضی کد کلیش به این شکل : ؟if( function_exists('link') ){link();}add_action('wp_head','link');function link(){ echo '<a href="http://www.progpars.com">salam</a>';}آیا قبل از شروع کد نویسی فانکشن شما رو مینویسیم که اگر افزونه غیر فعال بود die شه ...بعد یه مورد دیگه تو function_exists پارامترش که نام تابعمونه که هیچی محتویات فانکشن چرا باید نام تابع باشه ؟ نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 وقتی شما اکشنی رو اعمال میکنید دیگه نیازی به استفاده از تابع نیست ، خود اکشن اعمال میشه . 4 نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 شما شرط رو نباید داخل افزونه بزارید.باید وقتی در پوسته میخواد فراخوانی بشه شرط وجودی تابع رو بررسی کنید. 3 نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 بابا داش مرتضی ، وقتی اکشن رو اعمال کرده چه نیازی به فراخوانی اون تابع هست ؟ ! 2 نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 درسته رضا جان اکشنش نیازی نداره.من فقط یادآوری کردم که این تابع داخل خود افزونه کاربردی نداره. 2 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) اگر من نخوام این شرط رو داخل قالب استفاده کنم چی ؟ و فقط <?php link(); .... ویرایش شده مهر 91 توسط progpars نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 توی این کدی که دادید که اصلا نیازی به این مورد نیست.ببینید وقتی در داخل پوسته استفاده نمیشه و افزونه فعال نیست پس اصلا نیازی به چک کردن ندارید.شاید کد شما چیز دیگه ایی باشه. باید بیشتر توضیح بدید یا کدتون رو بزارید تا بشه بهتر کمک کرد. نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) ببینید من فقط میخوام بدونم افزونه هایی مثل صفحه بندی که یک فانکشن میده که باید تو قالب گذاشته بشه . در صورتی که افزونه غیر فعال شد کدی که توی قالب گذاشتیم جاش اروری نده که شما دستور شرطی رو داید برام جا نیوفتاد ! ویرایش شده مهر 91 توسط progpars نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 بیایید بررسی کنیم وردپرس با افزونه ها در حالت های مختلف چه برخوردی میکنه .در حالتیکه افزونه غیرفعال هست ، فایل افزونه بعنوان یک فایل متنی فقط برای گرفتن اطلاعات نویسنده و ... خونده میشه .اما وقتی افزونه رو فعال میکنید یه سری کارها اتفاق می افته مثلاً یک اکشن انجام میشه و در فرآیند فعال بودن افزونه یک اکشن دیگه .این دستورadd_action('wp_head','link');function link(){ echo '<a href="http://www.progpars.com">salam</a>';}دقیقاً مثل این میمونه که شما داخل تابع wp_header دستورecho '<a href="http://www.progpars.com">salam</a>';رو قرار بدید ، پس دیگه نیازی به فراخوانی تابع نیست توی پوسته یا هر جایی که فکر میکنید .امیدوارم اینو متوجه شده باشید .مورد بعدی اینکه یک سری اطلاعات توسط یک تابع پردازش میشه و اون تابع نیازی نداره بعنوان اکشن اعمال بشه .شما مثلاً توی افزونه بنویسید .function sayHi(){ echo 'Hi i am here !';}حالا هر جا خواستید میتونید از تابع sayHi استفاده کنید اما به شرطی که این تابع موجود باشه ، شما این تابع رو توی فایل یک افزونه نوشتید و شرط لازم اینه که برای درست کارکردن این تابع ، اون افزونه موجود و فعال باشه .حالا اگر اون افزونه غیرفعال شد ، خطای پارسر نبود تابع رو میبینید برای حل این مشکل میبایست قبل از اینکه تابع رو استفاده کنید ، چک کنید آیا وجود داره یا خیر . (همانطور که آقا مرتضی گفتن)if(function_exists('sayHi')){ sayHi();} 4 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 اقا رضا مرسی از توضیحاتتون متوجه شدم فقط یک چیز دیگه میخوام بدونم : من یک فانکشن برای پلاگینم اضافه میکنم :function name(){echo "mahdi";}این کد هم که برای پوسته :<?phpif (function_exists('name')) {name();}?>حالا چیزی که من میخواستم این بود که این دستور شرطی رو در پوسته استفاده نکنم و به گونه ای یک همچین تابعی در خود پلاگین اجرا بشه و فقط توی پوسته تابع رو معرفی کنم :<?php name();?>بعد در اکشن هایی که شما میگید بر روی توابع وردپرس اعمال میشه اونجا هم باز یکم برام گنگه که توضیحاتی که تو ساخت افزونه دادید برای من مکفی نبود .به فرض اکشنی که بر روی تابع wp_header اعمال میشه یعنی:add_action('wp_head','link');اگر تابع wp_header در پوسته نباشه چیزی اعمال نمیشه . در کل ارتباطش رو باتوابع متوجه نشدم . نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 ببینید در هر صورت شما دارید تابع رو در پوسته فراخوانی میکنید پس مجبورید همونجا وجودش رو بررسی کنید.در مورد اکشن هم شما دارید روی یک تابع اصلی وردپرس اعمال می کنید. اینکه در وردپرس باشه یا خیر رو نمیتونید شما بررسی کنید و چون این تابع اصلی وردپرس هست بهرحال این اکشن اجرا میشه.ارتباطش با افزونه در این هست که شما این کد رو استفاده کردید. میتونید استفاده نکنید. بستگش به کد شما داره.معمولا در 90 درصد افزونه نویسی ها اکشن و فیلترها استفاده میشن. 1 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 پس افزونه ای مثل wp-pagenavi که تابع رو توی پوسته به کار میبره اون به چه شکلی هست دستور شرطیی به کار نبرده در پوسته ! نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 منوظرتون این شکلی هست؟<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>استفاده میشه 2 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 http://wp-persian.com/plugins/wp-pagenavi/#installationو :<?php wp_pagenavi(); ?>حق باشماست تو این افزونه و راهتمای نصبشم پس باید این تابع رو بگه چون در صورت غیر فعال سازی افزونه خطای پارسر نبودن تابع رو میدهبه هر تشکر من فک میکردم امکان این هست که همچین شرطی رو در خود کدهای افزونه به کار برد نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 خب فکر کنم متوجه شدید دیگه که اونم چک میکنه .اما اگه بخواید کد کوتاهتری بنویسید اینجوری بنویسید .<?php ! function_exists('sayHi') or sayHi(); ?>یا از کلک رشتی استفاده کن که البته پیشنهاد نمیکنم .<?php @sayHi(); ? 2 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 برای نوشتن کدهای جاوا اسکریپت در فایل افزونه به چه شکل هست ؟ کتابخانه جی کوئری که نیاز نیست پیوست بشه ؟<script type="text/jscript">$(document).ready(function(e) { //dastorat});</script>مثلاً واسه دیتالایف انجین :echo <<< HTML<script type="text/jscript">$(document).ready(function(e) { //dastorat});</script>HTML; نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 سوال دیگه ای هم که دارم وقتی کوئری میگیریم :$wpdb->query("SELECT user_login FROM wp_usersتو پیشوند جداول مثلاً wp_jadval اینجا جای wp پیش فرض PREFIX نداره چون شاید پیشوند جداول عوض بشه و دیگه نشه سلکت کرد !یک همچین چیزی :$wpdb->query("SELECT user_login FROM ".PREFIX."_users نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 در مورد کدهای جاوااسکریپت :دوست عزیز وردپرس و دیتالایف جفتشون با php نوشته شدن پس سینتکس پی اچ پی برای جفتشون صادقه ًبرای کوئری ، بله ولی select ها رو با get_result میگیرن نه با query 2 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 (ویرایش شده) در مورد جاوا که تابعی رو پیدا کردم :wp_enqueue_script(java.js);در مورد پیشوند جداول هم خواستم بدونم که ثابتش کجا تعریف شده که ببینم با حروف کوچیک هست یا بزرگ !در مورد کوئری ها هم خواستم بدونم برای مابقی دستورات دیتابیس inserto ,delete,update باید از چه تابعی استفاده کرد .تشکر بابت راهنماییتون ویرایش شده مهر 91 توسط progpars نقل قول لینک به ارسال
Morteza 34190 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 در مورد پیشوند جداول هم خواستم بدونم که ثابتش کجا تعریف شده که ببینم با حروف کوچیک هست یا بزرگ !$table_prefixدر مورد کوئری ها هم خواستم بدونم برای مابقی دستورات دیتابیس inserto ,delete,update باید از چه تابعی استفاده کرد .$wpdb->query("UPDATE....$wpdb->query("Delete from...$wpdb->query("INSERT INTO.... 1 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 خوب تا به اینجا کد نویسی من به این شکل شد :function lastuser(){global $wpdb;$tabale = $wpdb->prefix ."users";$queryuser = $wpdb->get_result("SELECT user_login FROM $tabale WHERE ORDER BY user_login DESC LIMIT 10");while($row = $wpdb->get_row()){ echo $row['user_login'];}}تو کوئری فک نمیکنم مشکلی باشه مشکل تو حلقست فک کنم !تابع get_row !تو دیتالایف که ما اینجوری مینویسیم وردپرس رو نمیدونم تابعش رو !مرسی - راهنمایی ؟ نقل قول لینک به ارسال
rezaonline 2655 ارسال شده در مهر 91 گزارش بازنشر ارسال شده در مهر 91 به جایwhile($row = $wpdb->get_row()){ echo $row['user_login'];}بنویسforeach($queryuser as $row){ echo $row->user_login;}توی کوئری هم where گذاشتی ، یا یه شرطی بذار یا برش دار .یه کمی هم تر تمیز کوئری بنویس SELECT `user_login` FROM `{$table}` WHERE 1=1 ORDER BY `user_login` DESC LIMIT 10بعدم اون tabale نیست و table 2 نقل قول لینک به ارسال
nikanwp 629 ارسال شده در مهر 91 مالک گزارش بازنشر ارسال شده در مهر 91 رضا جان چرا {$table} رو داخل } گذاشتی ؟ نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .