توسعه پلاگین برای وردپرس - اتصال به پایگاه داده

توسعه پلاگین برای وردپرس - اتصال به پایگاه داده
در قسمت اول مطلب "توسعه پلاگین برای وردپرس"، ساختار پلاگین‌های وردپرس رو بررسی کردیم و به کمک توابعی که توسعه دادیم، یک منو برای قسمت تنظیمات پلاگین ایجاد کردیم. هدف اصلی ما درک مفاهیمی بود که برای ساخت و توسعه پلاگین‌های وردپرس بسیار ضروری هستند. در این قسمت مروری بر نحوه اتصال به پایگاه داده وردپرس خواهیم داشت.
دارالترجمه رسمی
دارالترجمه رسمی پارسیس شامل خدمات ترجمه رسمی و تخصصی در بیش از 60 زبان زنده دنیا
جای بروشور دیواری
خرید جای بروشور دیواری و رومیزی
افزونه های سئو وردپرس
بهترین افزونه های سئو وردپرس به صورت کاملا فارسی
تعمیر لوازم خانگی
تعمیر جاروبرقی، مایکروفر، بخارشوی، ظرفشویی، لباسشویی، سولاردام، کولرگازی
خودتان را اینجا معرفی کنید


همون طور که قبلا گفته شد، پایگاه داده وردپرس با زبان MySQL توسعه داده شده، در نتیجه برای ارسال و دریافت دستورات از این زبان استفاده خواهیم کرد. هسته وردپرس در اینجا مانند یک چهارچوب برنامه‌نویسی عمل می‌کنه. به این صورت که بسیاری از دستورات و توابع مورد نیاز ما، قبلا آماده شده‌اند و کافیه زمانی که اونها رو نیاز داریم، فراخوانی کنیم. به عنوان مثال، کلاس wpdb شامل بسیاری از توابع مربوط به تعاملات با پایگاه داده وردپرس هست. مهم‌ترین هدف استفاده از این کلاس، اتصال به پایگاه داده هست.

ما برای مرحله بعدی توسعه پلاگین، تصمیم داریم پُست‌های پیش‌نویس شده در پایگاه داده رو داخل منوی مربوط به تنظیمات پلاگین، نمایش بدیم. در ابتدا باید یک Object از کلاس wpdb رو به عنوان یک متغیر سراسری در نظر بگیریم. وردپرس، یک متغیر سراسری به نام $wpdb رو برای ما فراهم می‌کنه که برای کلاس wpdb در فایل wp-includes/wp-db.php قرار داره. به صورت پیشفرض، $wpdb مسیری هست بین پلاگین ما و پایگاه داده.

مرحله بعد، تعریف متغیری هست که به کمک اون دستورات SQL به پایگاه داده ارسال بشن تا اطلاعات مورد نظر رو دریافت کنیم.
ارسال دستورات، به کمک تابع get_results خواهد بود. این متد باید به عنوان یک Object از کلاس wpdb تعریف بشه و آرگومان‌ اون، دستورات SQL خواهند بود.
دستورات SQL ما برای انتخاب پُست‌های پیش‌نویس شده به این شکل هستن:
SELECT ID, post_title
FROM $wpdb->posts
WHERE post_status = 'draft'
زمانی که این دستورات به پایگاه داده ارسال بشن، تمام پُست‌هایی که به صورت پیش‌نویس در وردپرس ذخیره شدن انتخاب خواهند شد.
تابع اصلی پلاگین ما تا این مرحل شامل دستورات زیر هست:
function helloworldplugin_admin () {
    global $wpdb
    $draftposts = $wpdb->get_results (
        "
        SELECT ID, post_title
        FROM $wpdb->posts
        WHERE post_status = 'draft'
        "
    )
}
مقادیری که از پایگاه داده دریافت می‌شن، به صورت یک آرایه در متغیر draftposts قرار می‌گیرن.
مرحله بعد، نمایش پُست‌های پیش‌نویس شده در قسمت تنظیمات پلاگین هست. به کمک دستور foreach، آرایه draftposts رو داخل یک حلقه قرار می‌دیم. همین طور دستور echo برای نمایش عنوان و شماره ID پُست‌ها استفاده خواهد شد.
<?php
    foreach ($draftposts as $draftposts) {
        echo "<tr>";
        echo "<td>".$draftposts->post_title."</td>";
        echo "<td>".$draftposts->ID."</td>";
        echo "</tr>";
    }
?>
دستورات نوشته شده، پُست‌های پیش‌نویس ما رو نمایش خواهند داد. 
برای قسمت بعدی این آموزش سعی می‌کنیم به کمک سایر توابع وردپرس مفاهیم مربوط به پایگاه داده این سیستم رو بیشتر بررسی کنیم.

مسعود صدری هستم. توسعه دهنده و مدرس وب. فعالیت حرفه‌ای رو تقریبا از سال ۹۱ شروع کردم. همیشه سعی می‌کنم مطالب جدید رو یاد بگیرم و اونها رو با دیگران به اشتراک بذارم.

نظرات و سوالات کاربران

ارسال پاسخ hamid
hamid
سه شنبه ۰۲ شهریور ۱۳۹۵ ۰۹:۴۵
سلام.
من می‌خواهم محتوای یکی از صفحات سایت وردپرسی من از اطلاعات یک سرور sql ویندوزی ایجاد بشه. در واقع می‌خواهم که اطلاعاتی از افراد از سرور ویندوزی با دیتابیس sql به سرور وردپرس منتقل بشه و در صفحه مورد نظر نمایش داده بشه. آیا پلاگینی برای همچین کاری وجود داره؟ لطفا راهنمایی کنید.
تشکر از سایت خوبتون