是否有内置的工作流或流程来运行与分类法、新类别、过滤器、挂钩、插件设置等相关的一次性wordpress数据库更新?
现在,我正在将所有这些编程数据库更新放入我的自定义函数中。php文件。这感觉不对,因为即使是一次性任务,代码也会重复运行。使用注释掉的更改进行部署,然后重新部署,这也让人感觉很乏味。我来自其他技术栈,那里有一个内置的工作流,用于管理一次性数据库迁移和导入。Wordpress有这样的东西吗?
是否有内置的工作流或流程来运行与分类法、新类别、过滤器、挂钩、插件设置等相关的一次性wordpress数据库更新?
现在,我正在将所有这些编程数据库更新放入我的自定义函数中。php文件。这感觉不对,因为即使是一次性任务,代码也会重复运行。使用注释掉的更改进行部署,然后重新部署,这也让人感觉很乏味。我来自其他技术栈,那里有一个内置的工作流,用于管理一次性数据库迁移和导入。Wordpress有这样的东西吗?
我建议您将主题版本存储在数据库中,并将其与软件包版本进行比较,如果有差异,请在升级/安装操作中加载:
define( \'THEME_PREFIX_VERSION\', \'X.X\' );
/**
* Run upgrade/install.
*/
function theme_prefix_install() {
require_once dirname( __file__ ) . \'/install.php\';
}
if ( version_compare( get_option( \'theme_prefix_version\' ), THEME_PREFIX_VERSION, \'<\' ) )
add_action( \'init\', \'theme_prefix_install\' );
然后在install.php
:if ( ! defined( \'THEME_PREFIX_VERSION\' ) )
exit;
$version = get_option( \'theme_prefix_version\' );
if ( version_compare( $version, \'1.0\', \'<\' ) ) {
// Upgrade code required for version 1.0
}
if ( version_compare( $version, \'1.1\', \'<\' ) ) {
// Upgrade code required for version 1.1
}
// And so forth
// All updated, store current package version
update_option( \'theme_prefix_version\', THEME_PREFIX_VERSION );
仅为了运行升级而创建工作插件。代码在激活时运行,然后可以简单地再次停用,而不会影响运行时/性能:
<?php
/**
* Plugin Name: Project Name Upgrader
* Description: Activate to run one-time upgrades.
* Version: 0.1
* Author: Author
*/
function project_name_upgrade() {
// All your upgrade code
}
register_activation_hook( __file__, \'project_name_upgrade\' );
我不知道从哪里开始。我想创建自定义帖子类型,它将列出客户网站上的属性。我希望这些属性从其他网站/软件提供。因此,其他网站/软件将向我的Wordpress网站发送XML文件,我希望接收该文件并将其转换为我的自定义帖子。有谁能帮我了解一下这项任务,即从哪里开始?是否需要在数据库中创建自定义表?如何捕获该XML文件?任何信息都将不胜感激。谢谢