如何从wp钩子运行wp cli?

时间:2020-03-11 作者:Eko Setyanto

在我的网站上调用wordpress挂钩时,如何运行wp cli命令。

在用户注册挂钩上,我想运行wp cli命令来激活许可证。

2 个回复
SO网友:Tom Anderson

取决于你想做什么。如果要运行WP-CLI代码背后的PHP代码,可以考虑查看https://github.com/wp-cli/entity-command

也许您实际上并不需要WP-CLI,而是需要它背后的相应代码。大多数WP-CLI命令都具有等效的Wordpress。例如,我今天想做的事情wp menu create "My Menu" 命令定义如下:https://github.com/wp-cli/entity-command/blob/master/src/Menu_Command.php. (要找到WP-CLI的文档要容易得多,因为Wordpress的99%的结果都描述了如何通过管理面板进行操作。)

基本上,它只使用WP功能:

65:     $menu_id = wp_create_nav_menu( $args[0] );
所以> wp menu create "My Menu" 在命令行上大致相当于wp_create_nav_menu(\'My Menu\') 在a中functions.php 文件

类似地,plugin命令将被寻址为中定义的WP-CLI扩展命令Plugin_Command.php 它使用Wordpress命令activate_plugin(). 如果您想知道WP-CLI命令的WP版本,可以自己查找,或者在问题中包括您想知道的特定命令。

SO网友:edwardr

您可以使用PHP exec()函数来运行wp cli命令。

示例:<?php exec(\'wp core download\'); ?>

小心使用。进一步阅读:

https://www.php.net/manual/en/function.exec.php