WP-CLI رابط دستوری وردپرس است که به مدیران وب سایت های وردپرسی از طریق خط فرمان(Command Line) امکان مدیریت سایت شان را می دهد. از طریق CLI وردپرس قادر خواهید بود وب سایت خود را ارتقاء دهید، نسخه پشتیبان بگیرید، پست جدید درج کنید و خیلی از کارهای دیگری که در پنل ادمین وردپرس در دسترس شما هستند از طریق CLI نیز در دسترس تان خواهد بود.
با کمک این مقاله آموزشی قادر خواهید بود تا عملیات های رایج مدیریتی سایت وردپرسی مثل به روزرسانی، پشتیبان گیری از دیتابیس، نصب و حذف افزونه ها و قالب ها و همچنین درج و حذف پست، اعمال تغییر روی آدرس URL سایت و دستورات کمکی برای استفاده از خط فرمان وردپرس را فرا بگیرید. دقت داشته باشید برای بهره گیری از WP-CLI نیاز است تا یک ارتباط SSH با سروری که میزبان وب سایت شماست داشته باشید.
برای دریافت لیست دستوراتی که قادر به استفاده از آن ها هستید کافیست تا عبارت wp help یا wp را تایپ کنید. لیستی که در ادامه می آید، برایتان به نمایش در می آید:
akismet Filter spam comments. cache Manage the object cache. cap Manage user capabilities. checksum Verify WordPress core checksums. cli Review current WP-CLI info, check for updates, or see defined aliases. comment Manage comments. config Manage the wp-config.php file core Download, install, update and manage a WordPress install. cron Manage WP-Cron events and schedules. db Perform basic database operations using credentials stored in wp-config.php eval Execute arbitrary PHP code. eval-file Load and execute a PHP file. export Export WordPress content to a WXR file. help Get help on WP-CLI, or on a specific command. import Import content from a WXR file. jetpack Control your local Jetpack installation. language media Import new attachments or regenerate existing ones. menu List, create, assign, and delete menus. network option Manage options. package Manage WP-CLI packages. plugin Manage plugins. post Manage posts. post-type Manage post types. rewrite Manage rewrite rules. role Manage user roles. scaffold Generate code for post types, taxonomies, plugins, child themes, etc. search-replace Search/replace strings in the database. server Launch PHP's built-in web server for this specific WordPress install. sg Manage SiteGround Cache sgphpcompat Test compatibility with different PHP versions. shell Interactive PHP console. sidebar Manage sidebars. site Perform site-wide operations. super-admin Manage super admins on WordPress multisite. taxonomy Manage taxonomies. term Manage terms. theme Manage themes. transient Manage transients. user Manage users. widget Manage sidebar widgets.
اگر مایلید اطلاعات دقیق تری نسبت به برخی دستورات داشته باشید، کافیست نام دستور را پس از wp help بیاورید. به عنوان مثال:
wp help db export
و خروجی شما:
NAME wp db export DESCRIPTION Exports the database to a file or to STDOUT. SYNOPSIS wp db export [<file>] [--<field>=<value>] [--tables=<tables>] [--exclude_tables=<tables>] [--porcelain] ALIAS dump Runs `mysqldump` utility using `DB_HOST`, `DB_NAME`, `DB_USER` and `DB_PASSWORD` database credentials specified in wp-config.php. OPTIONS [<file>] The name of the SQL file to export. If '-', then outputs to STDOUT. If omitted, it will be '{dbname}.sql'. [--<field>=<value>] Extra arguments to pass to mysqldump [--tables=<tables>] The comma separated list of specific tables to export. Excluding this parameter will export all tables in the database. [--exclude_tables=<tables>] The comma separated list of specific tables that should be skipped from exporting. Excluding this parameter will export all tables in the database. [--porcelain] Output filename for the exported database. EXAMPLES # Export database with drop query included $ wp db export --add-drop-table Success: Exported to 'wordpress_dbase.sql'. # Export certain tables $ wp db export --tables=wp_options,wp_users Success: Exported to 'wordpress_dbase.sql'. # Export all tables matching a wildcard $ wp db export --tables=$(wp db tables 'wp_user*' --format=csv) Success: Exported to 'wordpress_dbase.sql'. # Export all tables matching prefix $ wp db export --tables=$(wp db tables --all-tables-with-prefix --format=csv) Success: Exported to 'wordpress_dbase.sql'. # Skip certain tables from the exported database $ wp db export --exclude_tables=wp_options,wp_users Success: Exported to 'wordpress_dbase.sql'.
آپدیت وردپرس از طریق WP-CLI
در ابتدا نیاز است تا نسخه فعلی وردپرسی که دارید بررسی شود.
username@servername [~/WordPress/location]# wp core version
4.8
اگر مایلید هسته وردپرس تان را به نسخه جدیدتری به روزرسانی کنید، می توانید از دستورات زیر استفاده کنید:
username@servername [~/WordPress/location]# wp core update Updating to version 4.8.1 (en_US)... Downloading update from https://downloads.wordpress.org/release/wordpress-4.8.1-partial-0.zip... Unpacking the update... Success: WordPress updated successfully.
آپدیت افزونه های وردپرس با استفاده از WP-CLI
اگر مایلید تا هر افزونه یا قالبی که بر روی وردپرس خود دارید، آپدیت کنید می توانید از طریق خط فرمان وردپرس(WP-CLI) از آن استفاده کنید. برای اطلاع از وضعیت فعلی افزونه ها می توانید از دستور زیر استفاده کنید:
username@servername [~/WordPress/location]# wp plugin list +----------------+----------+-----------+---------+ | name | status | update | version | +----------------+----------+-----------+---------+ | akismet | active | available | 3.3.2 | | google-captcha | active | none | 1.31 | | hello | inactive | none | 1.6 | | jetpack | active | none | 5.3 | | sg-cachepress | active | none | 3.3.2 | +----------------+----------+-----------+---------+
در این مثال ما 5 افزونه داریم که بر روی نسخه آزمایشی نصب شده اند. مشاهده می کنید که یک آپگرید برای یکی از آن ها در دسترس است. برای این که آن افزونه را به روزرسانی کنیم می توانیم از دستور زیر استفاده کنیم:
username@servername [~/WordPress/location]# wp plugin update akismet Enabling Maintenance mode... Downloading update from https://downloads.wordpress.org/plugin/akismet.3.3.4.zip... Unpacking the update... Installing the latest version... Removing the old version of the plugin... Plugin updated successfully. Disabling Maintenance mode... +---------+-------------+-------------+---------+ | name | old_version | new_version | status | +---------+-------------+-------------+---------+ | akismet | 3.3.2 | 3.3.4 | Updated | +---------+-------------+-------------+---------+ Success: Updated 1 of 1 plugins.
نصب و فعالسازی افزونه ها و قالب های وردپرس از طریق WP-CLI
برای نصب و فعالسازی افزونه ی جدید می توانید از دستورات زیر استفاده کنید:
wp plugin install Plugin_Name wp plugin activate Plugin_Name
دقت داشته باشید که در دستورات فوق بایستی عبارت Plugin_Name با نام دقیق(slug) افزونه مورد نظرتان در مخزن وردپرس تعویض شود.
با خط فرمان وردپرس(WP-CLI) چه کارهای دیگری می توان انجام داد
با استفاده از دستور زیر می توانید یک پست جدید در وردپرس ایجاد کنید:
username@servername [~/WordPress/location]# wp post create --post_type=page --post_status=publish --post_title='My test post' --post_content='This is a test post' Success: Created post 18
اگر به یک پست خاص نیازی ندارید می توانید به راحتی آن را حذف کنید:
username@servername [~/WordPress/location]# wp post delete 18 Success: Trashed post
همچنین قادر خواهید بود تا از وردپرس تان یک نسخه پشتیبان تهیه کنید:
username@servername [~/WordPress/location]# wp db export Success: Exported to 'username_wp123-3150ba8.sql'.
اگر به هر دلیلی نیاز دارید تا دامنه اصلی سایت وردپرس را تغییر دهید، با استفاده از دستور زیر می توانید URL جدید را جایگزین کنید.
wp option update home https://newdomain.com wp option update siteurl https://newdomain.com