بایگانی برچسب ها: wordpress
وردپرس و لاراول
وردپرس یکی از محبوب ترین اپلیکیشن های متن باز جهان هست و این یعنی خیلی از مردم برای مدیریت سایتشون این ابزار رو انتخاب می کنند. شرایطی پیش میاید که استفاده از وردپرس به عنوان Backend برای سایت مورد نظر شما بهتر است چون آموزش کاربر در زمینه کار با Backend به حداقل میرسه و یا ممکنه کاربر کاملا با محیط وردپرس آشنایی داشته باشه. یک روش محبوب برای راه اندازی این سایت ها استفاده از وردپرس به عنوان ادمین و ساخت frontend در فریمورکی مثل لاراول است.
بیایید نگاهی به چند پکیج بیاندازیم که کار رو با وردپرس راحت می کنند :
Corcel با استفاده از مدل های Laravel Eloquent و با هدف مدیریت دریافت مستقیم محتوا از دیتابیس وردپرس کاربرد داره. وقتی اون رو نصب کنید, میتونید با همان syntax همیشگی بصورت زیر ازش استفاده کنید :
// All published posts
$posts = Post::published()->get();
$posts = Post::status('publish')->get();
// A specific post
$post = Post::find(31);
این شامل پشتیبانی از پست ها, انواع پست ها, دسته بندی ها, صفحات و ضمیمه هاست. تنها ضعفش اینه که همچنان در حال توسعه هست.
WordPressToLaravel اطلاعات رو از وبلاگ wordpress.com همگام سازی میکنه. این پکیج برای اجرای زمان بندی شده cron job از طریق Laravel Scheduler طراحی شده. سپس بصورت خودکار اطلاعات پست رو دانلود کرده و به دیتابیس محلی شما وارد میکنه. وقتی راه اندازی شد شما مسئول ساخت مدل ها, کنترلر و view های خودتون برای یکپارچه سازی با دیتایس هستید, و برخی از مزایای استفاده از سیستم wordpress.com این است که اونها بصورت خودکار وردپرس رو آپدیت میکنند, از CDN استفاده می کنند و محتوا میتونه از طریق وبسایت, اپ موبایل یا اپ دسکتاپ اضافه بشه.
عیب این پکیج محدود بودن به اطلاعات پست هست و از دسته بندی ها و تگ ها پشتیبانی نمیکنه.
WP Eloquent پکیجی برای ساختwrapper برای جداول دیتابیس وردپرس هست. این شامل مدل پست ها, نظرات, Meta پست, کاربران و Meta کاربران میشه. وقتی نصب کامل شد, یک نمونه از استفاده رو در ادامه مشاهده می کنید :
use WeDevs\ORM\WP\Post as Post;
Post::type('page')->get()
Post::status('publish')->get()
Post::type('page')->status('publish')->get()
همچنین این پکیج با پکیج Laravel DebugBar کار میکنه و نیازی به ساخت هیچ اتصال دیتابیس اضافی نداره.
این پکیج به صورت مستقیم با WordPress JSON REST API برای سایت های self hosted یکپارچه سازی میشه.
بعد از نصب شما به WpApi alias بصورت زیر دسترسی دارید که کار رو برای کوئری زدن راحت میکنه :
$post = WpApi::post($slug);
$catPosts = WpApi::category_posts($slug, $page);
این پکیج امکان یکپارچه سازی وردپرس با میکروفریمورک Lumen که با لاراول ساخته شده رو فراهم میکنه.
ویژگی ها
- پلاگین های موجود در جهان به علاوه ی یک قالب موجود است.
- امکان اصلاح وردپرس و پلاگین ها وجود دارد.
- سرعت کدگذاری قالب HTML با استفاده از موتور قالب Blade بالا میرود.
- سازگاری با موبایل ها ساده تر می شود.
- کار با وب سرویس های خارجی و ساخت اونها ساده می شود.
- استفاده از سیستم مدیریت پکیچ های PHP مثل کامپوزر ممکن است.
این پکیج به راحتی با دستور زیر نصب میشه :
$ cd <parent-of-an-install-directory>
$ composer create-project laravel-plus/wordpress <an-install-directory>
همچنین میتونید فایل zip رو دانلود کنید و در محل سرور فایل هایش رو قرار بدید.
سپس دستور زیر رو برای اتمام نصب از طریق zip وارد کنید :
$ cd <installed-directory>
$ composer install
$ cp .env.example .env
$ php artisan key:generate
دستورات artisan این پکیج به صورت زیر است :
- wordpress:status وضعیت وردپرس.
- wordpress:install نصب جداول وردپرس.
- wordpress:uninstall حذف جداول وردپرس.
- wordpress:multisite:install نصب جداول برای چندسایت.
- wordpress:multisite:uninstall حذف جداول برای چندسایت.
- wordpress:theme لیست قالب ها.
- wordpress:theme <name> جزئیات یک قالب.
- wordpress:plugin لیست پلاگین ها.
- wordpress:plugin <name> جزئیات یک پلاگین.
- make:theme <name> ساخت قالب.
- make:plugin <name> ساخت پلاگین.
سایر روش های یکپارچه سازی وردپرس و لاراول
قطعا پکیج های بالا تنها راه یکپارچه سازی این دو نیستند. در ادامه به روش های دستی که این یکپارچه سازی رو انجام میده اشاره خواهیم کرد :
- WordPlate توسط کامپوننت های لاراول و سمفونی ساخته شده و از وردپرس بعنوان وابستگی از طریق Composer استفاده میکنه.
- استفاده از وردپرس با Lumen
- آموزش راه اندازی API لاراول به همراه بک اند وردپرس (بهمراه مثال)
همینطور که مشاهده می کنید تعداد زیادی روش برای یکپارچه سازی وردپرس و لاراول وجود داره, بسته به نیاز شما مطمئنا میتونید پکیج های بیشتر و اختصاصی پیدا کنید که کار رو برای هدف شما راحت می کنند.
۱۵ ترفند پیکربندی وردپرس که مفید است و شما نمی دانید

نحوه استفاده از این ترفند پیکربندی وردپرس
۱. تنظیمات پیکربندی وردپرس پایه


|
۱
۲
۳
۴
|
define('DB_NAME', 'database-name');define('DB_USER', 'database-username');define('DB_PASSWORD', 'database-password');define('DB_HOST', 'localhost'); |
۲. اضافه کردن کلید های امنیتی در وردپرس
|
۱
۲
۳
۴
۵
۶
۷
۸
|
define( 'AUTH_KEY', 'put your unique phrase here' );define( 'SECURE_AUTH_KEY', 'put your unique phrase here' );define( 'LOGGED_IN_KEY', 'put your unique phrase here' );define( 'NONCE_KEY', 'put your unique phrase here' );define( 'AUTH_SALT', 'put your unique phrase here' );define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );define( 'LOGGED_IN_SALT', 'put your unique phrase here' );define( 'NONCE_SALT', 'put your unique phrase here' ); |
۳. تغییر پیشوند جدول وردپرس
|
۱
|
$table_prefix = 'wp_'; |
۴. روشن کردن اشکال زدایی در وردپرس
|
۱
|
define( 'WP_DEBUG', true ); |
|
۱
۲
۳
|
define( 'WP_DEBUG', true );define( 'WP_DEBUG_LOG', true );define( 'WP_DEBUG_DISPLAY', false ); |
۵. تغییر سایت یا آدرس وردپرس
|
۱
۲
|
define('WP_HOME', 'http://www.example.com');define('WP_SITEURL', 'http://www.example.com'); |
۶. نادیده گرفتن مجوزهای پرونده
|
۱
۲
|
define('FS_CHMOD_FILE', 0644);define('FS_CHMOD_DIR', 0755); |
۷. تغییر تنظیمات بازخورد ارسال
|
۱
|
define('AUTOSAVE_INTERVAL', 120); // in seconds |
|
۱
|
define('WP_POST_REVISIONS', 10); |
|
۱
|
define( 'WP_POST_REVISIONS', false ); |
۸. تغییر تنظیمات حذف وردپرس
|
۱
|
define( 'EMPTY_TRASH_DAYS', 15 ); // 15 days |
|
۱
|
define('EMPTY_TRASH_DAYS', 0 ); |
۹. اضافه کردن ثابت FTP / SSH به پیکربندی وردپرس
برخی از میزبان ها نیاز به اتصال FTP یا SSH دارند هر بار سعی می کنید ارتقا دهید یا یک افزونه جدید نصب کنید.

|
۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
|
// forces the filesystem method: "direct", "ssh", "ftpext", or "ftpsockets"define('FS_METHOD', 'ftpext');// absolute path to root installation directorydefine('FTP_BASE', '/path/to/wordpress/');// absolute path to "wp-content" directorydefine('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');// absolute path to "wp-plugins" directorydefine('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');// absolute path to your SSH public keydefine('FTP_PUBKEY', '/home/username/.ssh/id_rsa.pub');// absolute path to your SSH private keydefine('FTP_PRIVKEY', '/home/username/.ssh/id_rsa');// either your FTP or SSH usernamedefine('FTP_USER', 'username');// password for FTP_USER usernamedefine('FTP_PASS', 'password');// hostname:port combo for your SSH/FTP serverdefine('FTP_HOST', 'ftp.example.org:21'); |
۱۰. اجازه تعمیر خودکار بانک اطلاعاتی
|
۱
|
define('WP_ALLOW_REPAIR', true); |
http://example.com/wp-admin/maint/repair.php

۱۱. محدودیت حافظه PHP را افزایش دهید
|
۱
|
define('WP_MEMORY_LIMIT', '128M'); |
۱۲. حرکت دایرکتوری wp-content
|
۱
۲
۳
۴
|
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' );define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins'); |
۱۳. از جداول کاربر سفارشی استفاده کنید
|
۱
۲
|
define('CUSTOM_USER_TABLE', $table_prefix.'my_users');define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta'); |
۱۴. شبکه چند سایت را فعال کنید
|
۱
|
define('WP_ALLOW_MULTISITE', true); |
۱۵. تأمین پرونده پیکربندی وردپرس شما
همانطور که می بینید، فایل wp-config.php حاوی تنظیمات مهم وردپرس است. به طور پیش فرض آن در پوشه root وردپرس واقع
شده است، اما شما می توانید آن را انتقال دهید. این می تواند در خارج از پوشه public_html شما منتقل شود، بنابراین کاربران
نمی توانند به آن دسترسی پیدا کنند. وردپرس به طور پیش فرض به دایرکتوری های دیگر نگاه می کند، اگر فایل ها در پوشه ریشه
وردپرس یافت نشد.
|
۱
۲
۳
۴
۵
|
# Protect wp-config.php<Files wp-config.php>order allow,denydeny from all</Files> |
چگونه وردپرسی چند زبانه داشته باشیم؟
به طور پیشفرض وردپرس یک پلتفرم چند زبانه نیست که وبسایت شما را به چندین زبان روز دنیا نمایش دهد. خوشبختانه جامعه وردپرس توانسته با توسعه افزونههای وردپرس مطالب وب سایتها را به چندین زبان ترجمه و برای خواننده مطلب به نمایش درآورد.
روشهای مختلفی برای این کار وجود دارد که بیشتر آنها وقت گیر و همچنین هزینه بر است. اما شما میتوانید با دانلود و نصب افزونههای رایگان وردپرس زبان وب سایت خود را به انتخاب کاربر تغییر دهید. برای نمونه: کاربری از یک کشور دیگر وارد سایت شما میشود ولی تمام نوشتههای شما پارسی است اگر یک باکس کوچک انتخاب زبان در سایت شما وجود داشته باشد، کاربر میتواند حداقل زبان بین المللی را انتخاب کند که بتواند نوشتهها را بخواند. این کار باعث میشود که شما از کشورهای دیگر نیز بازدیدکننده داشته باشید. برای سایتهای شرکتی که محصولاتی را به فروش میرسانند این گزینه بسیار مهم است.
افزونههای مترجم وردپرس
Polylang



این افزونه به شما در مدیریت یک پست چند زبانه کمک میکند، این افزونه بیشترین دانلود را به خود اختصاص داده است زیرا کارایی بسیار خوبی دارد. این افزونه گزینههای متعددی را برای شما فراهم میسازد و زبانهای گوناگونی دارد.
این افزونه میتواند صفحات، رسانهها، دستهها، ارسال برچسبها، منوها، ویجت، انواع پست سفارشی، رده بندی سفارشی، پست چسبنده، فرمتهای پست، و آر اس اس را ترجمه کند. این افزونه ویجت زیبایی نیز دارد که میتوانید از قسمت ابزارکها آن را به قسمت دلخواه وبسایت خود انتقال دهید و استفاده از آن بسیار آسان است.
شما میتوانید تمام تنظیمات پیش فرض خود را تعیین کنید برای نمونه: چه زبانی به طور پیشفرض باشد یا چه چیزهایی ترجمه شود.
xili-language



این افزونه نیز به شما اجازه ارسال یک پست چند زبانه را میدهد. شما میتوانید با استفاده از این افزونه مطالب خود را به چند زبان ترجمه کنید، همچنین این افزونه یک ابزارک زیبا دارد که در سایت شما نمایان میشود. این افزونه قدرتمند امکانات خوبی دارد، همچنین ویجت این افزونه به سه شکل زیر درمیآید:
۱-فهرست زبانها
۲-پستهای اخیر
۳-نظرات اخیر
شما میتوانید هر یک از آنها یا همه آنها را در نوار کناری خود استفاده کنید.
عکس
فهرست زبان شمال تگهای HTML است، پس شما میتوانید کدهای دیگری را نیز به این فهرست اضافه کنید. همچنین شما میتوانید لینک مطالب ترجمه شده را تغییر دهید.
Bogo

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

این افزونه یک لیست از زبانها را در اختیار شما قرار میدهد، در کنار هر یک دکمه نصب وجود دارد که با کلیک بر روی آن شما میتوانید زبان مورد نظر را در لیست فعال کنید. این افزونه ساده در کمال کارایی تنظیمات سادهای دارد که هر فرد میتواند به راحتی با آن کار کند.
Transposh


این افزونه اجازه مدیریت ترجمه زبانها را به شما میدهد و تنظیمات پیشرفتهای دارد. این افزونه به طور پیشفرض ۹۲ زبان را ترجمه میکند که رقم بالایی است. همچنین مانند افزونههای پیشین این افزونه نیز دارای یک ویجت برای انتخاب زبان است. همچنین برای بهبود این ترجمهگر شما میتوانید گوگل ترنسلیت را به آن متصل کنید.
Google Language Translator


بیشتر افراد با سرویس ترجمهگر گوگل آشنایی دارند که بسیار قدرتمند است، همچنین افزونه ترجمهگر گوگل نیز بسیار قدرتمند عمل میکند به طوری که میتواند وبسایت شما را به ۸۱ زبان مختلف ترجمه کند. این افزونه نیز ویجت خاص خود را دارد و همچنین شما میتوانید با استفاده از شورت کدها، ترجمهگر را در صفحات به کار ببرید.
شما زبانهایی را که میخواهید در قسمت تنظیمات افزونه انتخاب میکنید، سپس در قسمت ابزارکها ویجت این افزونه را اضافه میکنید. در ویجت این افزونه پرچم کشورها به نمایش درمیآید که کاربر با کلیک روی آن پرچم زبان خود را انتخاب میکند. البته نسخه پیشرفته این افزونه ۱۵ دلار قیمت دارد که شما میتوانید از نسخه رایگان آن استفاده نمایید.
Multisite Language Switcher
آخرین افزونه ما مانند افزونههای پیشین کار میکند و توضیحات خاصی ندارد، شما با استفاده از این افزونه میتوانید مطالب خود را ترجمه کنید. این افزونه تنظیمات به خصوصی ندارد.
یادتان باشد که ترجمهگر در یک سایت بسیار مهم است مخصوصا برای کسانی که وبسایت شرکتی و یا خبری دارند.
برای دیدن مطالب بیشتر به این صفحه مراجعه کنید.
منبع : ماندگاروب
