下面是一个DB查询,我使用它来检索值并将它们放在WP\\U List\\U表中。当前正在添加值add_option
, 然后将这些值转换为一个名为wp_testimonials
. 我不知道我为什么这样做,但它是有效的!
所以现在我需要创建一个条件,说明“如果用户当前正在更新选项,那么在更新选项后更新表,否则什么都不要做。”
然而,我不知道如何陈述这种情况。我的显示表位于不同的文件中,而不是更新选项的文件中。
下面是数据库查询,当前每次访问页面时都会更新,需要更改。
$options = get_option(\'testimonials_settings\');
if ( isset ($options)) {
global $wpdb;
$table_name = $wpdb->prefix . "testimonials";
$sql = "CREATE TABLE $table_name (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name tinytext NOT NULL,
company_name text NOT NULL,
company_url text NOT NULL,
testimonials_quote text NOT NULL,
UNIQUE KEY id (id)
);";
require_once(ABSPATH . \'wp-admin/includes/upgrade.php\');
dbDelta($sql);
$name = $options[\'testimonials_name\'];
$company_name = $options[\'testimonials_website_name\'];
$company_url = $options[\'testimonials_website_url\'];
$testimonials_quote = $options[\'testimonials_quote\'];
$rows_affected = $wpdb->insert( $table_name, array( \'name\' => $name, \'company_name\' => $company_name, \'company_url\' => $company_url, \'testimonials_quote\' => $testimonials_quote ) );
}
最合适的回答,由SO网友:Mridul Aggarwal 整理而成
功能update_option
包括可以使用的动作挂钩。
使用update_option_{$option_key}
如图所示:
function my_func($option, $value) {
//this is called only when that particular option is updated
//$option has the option key & $value has the value array
}
add_action(\'update_option_testimonials_settings\', \'my_func\', 10, 2);