Php 添加选项WordPress函数不添加该选项
我试图插入一篇文章/页面,然后将文章id另存为一个选项,但该选项未保存到数据库 我可以创建页面并获取其ID,但无法将该ID保存到选项中。在“init”调用该类,构造函数如下所示:Php 添加选项WordPress函数不添加该选项,php,wordpress,Php,Wordpress,我试图插入一篇文章/页面,然后将文章id另存为一个选项,但该选项未保存到数据库 我可以创建页面并获取其ID,但无法将该ID保存到选项中。在“init”调用该类,构造函数如下所示: class Recipe{ public function __construct(){ $favorites_id = get_option("favoritesid"); if($favorites_id <= 0){ $my_post = a
class Recipe{
public function __construct(){
$favorites_id = get_option("favoritesid");
if($favorites_id <= 0){
$my_post = array(
'post_title' => 'Favorites',
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page'
);
$result_id = wp_insert_post( $my_post );
if($result_id > 0){
add_option("favoritesid", $result_id);
}
}
}
类配方{
公共函数构造(){
$favorites_id=获取选项(“favoritesid”);
如果($favorites_id“favorites”,
'发布内容'=>'',
“发布状态”=>“发布”,
“后作者”=>1,
“发布类型”=>“页面”
);
$result\u id=wp\u insert\u post($my\u post);
如果($result\u id>0){
添加_选项(“favoritesid”,$result_id);
}
}
}
测试主插件文件中的代码:(//使用array\u push-for选项)
您在代码中使用了
add\u option()
,但在标题中写入了update\u option()
。请更正问题。请执行var\u转储(添加选项(“favoritesid”,$result\u id))代码>检查它返回的内容。可能它已经存在?尝试echo get\u选项(“favoritesid”)
。这很奇怪。。。我所做的只是添加了echo get_选项(“favoritesid”)在add_选项(“favoritesid”、$result_id)之前的code>代码>并且设置了选项值???为什么你会这样想?我不是WordPress专家,但看起来你正在使用它来存储不打算作为选项存储的数据。我不确定,但看起来是这样的。
class Recipe{
public function __construct(){
add_action('init',[$this,'test']);
}
public function test(){
$favorites_id = get_option("favoritesid",[]);
if($favorites_id >= 0){
$my_post = array(
'post_title' => 'this is test',
'post_content' => '',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page'
);
$result= get_page_by_title($my_post['post_title'],ARRAY_A, 'page');
if(is_null($result)) {
$result_id = wp_insert_post( $my_post );
if ( $result_id >= 0 ) {
update_option( "favoritesid", $result_id );
}
}
else return false;
}
}
}
new Recipe;