• اطلاعیه ها

    • Saeed Fard

      آگهی استخدام برنامه نویس و پشتیبان وردپرس   13/12/95

      آگهی استخدام برنامه نویس و پشتیبان وردپرس
       
      2 نفر پشتیبان سایت وردپرسی
      ⁃ آشنا به برنامه نویسی قالب و پلاگین وردپرس 
      ⁃ توانایی راه اندازی سایت، قالب و افزونه های وردپرسی 
      ⁃ توانایی برنامه نویسی PHP در حد متوسط 
      ⁃ اطلاعات عمومی وب بالا 
      ⁃ توانایی پاسخگویی نوشتاری به سوالات انگلیسی با گرامر ساده 
      ⁃ آشنایی با HTML/CSS/jQuery 
      ⁃ دارای روحیه کار تیمی، خلاق، مسئولیت‌پذیر و پشتکار بالا ——— ۲ نفر برنامه نویس قالب وردپرس
      ⁃ تسلط به HTML/CSS/jQuery و Bootstrap
      ⁃ توانایی تبدیل HTML به قالب وردپرس
      ⁃ توانایی برنامه نویسی PHP و پلاگین نویسی وردپرس در حد متوسط
      ⁃ آشنایی به اصول سئو 
      ⁃ آشنایی با Git/subversion مزیت محسوب می‌شود.
      ⁃ دارای روحیه کار تیمی، خلاق، مسئولیت‌پذیر و پشتکار بالا ——— ۱ نفر طراح UI/UX
      ⁃ طراحی خلاقه وب سایت
      ⁃ طراحی با جدیدترین استایل‌های طراحی سایت
      ⁃ مسلط به تایپوگرافی انگلیسی و طراحی وب سایت انگلیسی
      ⁃ انتقاد پذیری و قبول بازخوردهای تیم و مشارکت با دیگر اعضاء تیم برای سرعت بخشیدن به فرایند انجام پروژه
      ⁃ آشنایی و درک HTML/CSS/jQuery
      ⁃ دارای روحیه کار تیمی، خلاق، مسئولیت‌پذیر و پشتکار بالا
      ⁃ امکان همکاری به صورت پروژه‌ای و دورکاری در این موقعیت شغلی فراهم است ——— مزایای کار در مجموعه گرودیا
      ⁃ تجربه ناب کار در سطح یک جهانی
      ⁃ محیط کار بسیار دوستانه و آرام
      ⁃ پرداخت های مناسب و سر وقت
      ⁃ کلاس های آموزشی داخلی به جهت بالا بردن دانایی و توانایی همه اعضا   از علاقه‌مندان و نیازمندان تقاضا می‌شود لطفا رزومه کاری خود را با قید موقعیت شغلی به ایمیل info@grodea.co ارسال نمایید.
    • Morteza

      سال 1396 خورشیدی مبارک   29/12/95

      سال 1396 خورشیدی مبارک
progpars

سوال / نوشتن افزونه

43 پست در این موضوع قرار دارد


add_action('wp_head','link');
function link()
{
echo '<a href="http://www.progpars.com">salam</a>';
}

من به فرض کدی مینویسم برای پلاگین سپس تابع رو در قالبم فراخوانی میکنم :


<?php link(); ?>

اما سوال :

وقتی افزونه رو فعال میکنیم جایی که ما تابع رو فراخوندیم لینک Salam میاد ولی وقتی افزونه رو غیر فعال میکنیم به جای salam با پیغام خطا مواجه میشم میخوام بدونم چه دستوری باید بنویسم در صورت غیر فعال سازی افزونه اخطاری نشون نده یا جاش بنویسه افزونه غیر فعال ...

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر
if( function_exists('link') ){ link();}

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

آقا مرتضی کد کلیش به این شکل : ؟


if( function_exists('link') )
{
link();
}
add_action('wp_head','link');
function link()
{
echo '<a href="http://www.progpars.com">salam</a>';
}

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

بعد یه مورد دیگه تو function_exists پارامترش که نام تابعمونه که هیچی محتویات فانکشن چرا باید نام تابع باشه ؟

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

شما شرط رو نباید داخل افزونه بزارید.

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

بابا داش مرتضی ، وقتی اکشن رو اعمال کرده چه نیازی به فراخوانی اون تابع هست ؟ !

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

درسته رضا جان اکشنش نیازی نداره.

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

اگر من نخوام این شرط رو داخل قالب استفاده کنم چی ؟ و فقط <?php link(); ....

ویرایش شده در توسط progpars

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

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

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

شاید کد شما چیز دیگه ایی باشه. باید بیشتر توضیح بدید یا کدتون رو بزارید تا بشه بهتر کمک کرد.

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

ببینید من فقط میخوام بدونم افزونه هایی مثل صفحه بندی که یک فانکشن میده که باید تو قالب گذاشته بشه . در صورتی که افزونه غیر فعال شد کدی که توی قالب گذاشتیم جاش اروری نده که شما دستور شرطی رو داید برام جا نیوفتاد !

ویرایش شده در توسط progpars

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

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

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

اما وقتی افزونه رو فعال میکنید یه سری کارها اتفاق می افته مثلاً یک اکشن انجام میشه و در فرآیند فعال بودن افزونه یک اکشن دیگه .

این دستور


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();
}

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

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

من یک فانکشن برای پلاگینم اضافه میکنم :


function name()
{
echo "mahdi";
}

این کد هم که برای پوسته :


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

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


<?php name();?>

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

به فرض اکشنی که بر روی تابع wp_header اعمال میشه یعنی:


add_action('wp_head','link');

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

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

در مورد اکشن هم شما دارید روی یک تابع اصلی وردپرس اعمال می کنید. اینکه در وردپرس باشه یا خیر رو نمیتونید شما بررسی کنید و چون این تابع اصلی وردپرس هست بهرحال این اکشن اجرا میشه.

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

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

پس افزونه ای مثل wp-pagenavi که تابع رو توی پوسته به کار میبره اون به چه شکلی هست دستور شرطیی به کار نبرده در پوسته !

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

منوظرتون این شکلی هست؟

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

استفاده میشه

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

http://wp-persian.com/plugins/wp-pagenavi/#installation

و :


<?php wp_pagenavi(); ?>

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

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

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

خب فکر کنم متوجه شدید دیگه که اونم چک میکنه .

اما اگه بخواید کد کوتاهتری بنویسید اینجوری بنویسید .


<?php ! function_exists('sayHi') or sayHi(); ?>

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


<?php @sayHi(); ?

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

برای نوشتن کدهای جاوا اسکریپت در فایل افزونه به چه شکل هست ؟ کتابخانه جی کوئری که نیاز نیست پیوست بشه ؟


<script type="text/jscript">
$(document).ready(function(e) {
//dastorat
});
</script>

مثلاً واسه دیتالایف انجین :


echo <<< HTML
<script type="text/jscript">
$(document).ready(function(e) {
//dastorat
});
</script>
HTML;

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

سوال دیگه ای هم که دارم وقتی کوئری میگیریم :


$wpdb->query("SELECT user_login FROM wp_users

تو پیشوند جداول مثلاً wp_jadval اینجا جای wp پیش فرض PREFIX نداره چون شاید پیشوند جداول عوض بشه و دیگه نشه سلکت کرد !

یک همچین چیزی :


$wpdb->query("SELECT user_login FROM ".PREFIX."_users

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

در مورد کدهای جاوااسکریپت :

دوست عزیز وردپرس و دیتالایف جفتشون با php نوشته شدن پس سینتکس پی اچ پی برای جفتشون صادقه ً

برای کوئری ، بله ولی select ها رو با get_result میگیرن نه با query

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

در مورد جاوا که تابعی رو پیدا کردم :


wp_enqueue_script(java.js);

در مورد پیشوند جداول هم خواستم بدونم که ثابتش کجا تعریف شده که ببینم با حروف کوچیک هست یا بزرگ !

در مورد کوئری ها هم خواستم بدونم برای مابقی دستورات دیتابیس inserto ,delete,update باید از چه تابعی استفاده کرد .

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

ویرایش شده در توسط progpars

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر
در مورد پیشوند جداول هم خواستم بدونم که ثابتش کجا تعریف شده که ببینم با حروف کوچیک هست یا بزرگ !

$table_prefix

در مورد کوئری ها هم خواستم بدونم برای مابقی دستورات دیتابیس inserto ,delete,update باید از چه تابعی استفاده کرد .


$wpdb->query("UPDATE....
$wpdb->query("Delete from...
$wpdb->query("INSERT INTO....

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

خوب تا به اینجا کد نویسی من به این شکل شد :


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 !

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

مرسی - راهنمایی ؟

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

به جای


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 :P

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

رضا جان چرا {$table} رو داخل } گذاشتی ؟

به اشتراک گذاری این پست


لینک به پست
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری