有没有一种合适的方法可以轻松地引导Wordpress包含的所有内容,而不必一直贯穿主题?
这是个错误的问题。短代码远远不是从主题或插件运行代码的唯一方法。不过,你已经正确地确定了他们不适合这份工作。我认为您应该寻找一种更好的方法来从主题或插件运行脚本。
在我看来,您有两个主要选项,基本上取决于您希望如何触发脚本。
如果你想的话manually trigger 脚本,然后您应该在管理中创建一个页面,其中包含一个触发脚本的按钮。这方面的基本步骤是:
使用add_menu_page()
将页面添加到某个管理位置对于页面内容,输出一个带有action
设置为<?php echo esc_url( admin_url( \'admin-post.php\' ) ); ?>
和一个隐藏的输入name"action"
和value
作为功能的唯一标识符将挂钩添加到admin_post_{whatever your action name is}
运行脚本的This tutorial 管理表单上更详细地介绍了该主题。
现在,您将在admin中有一个位置,可以在那里按一个按钮来运行脚本。
如果你想的话automatically trigger 脚本on a schedule, 然后,您应该使用WP Cron来计划脚本函数的运行。这方面的文档是here, 但本质上不是将脚本函数添加到具有add_shortcode()
, 使用将函数添加到挂钩add_action()
, 然后使用wp_schedule_event()
安排操作在特定时间运行。
您可以使用wp_next_scheduled()
要自动安排脚本在每次运行后再次运行,请执行以下操作:
if ( ! wp_next_scheduled( \'{whatever your hook name is}\' ) ) {
wp_schedule_event( time(), \'hourly\', \'{whatever your hook name is}\', $args );
}