创建自定义API终结点以更改自定义标题图像

时间:2020-05-09 作者:Rasmus Lian

我的目标是创建一个自定义API端点,通过API调用可以将Wordpress中的自定义头映像更改为另一个映像(该映像将在API调用中传递,或者可能只是切换到Wordpress中的另一个媒体文件或类似文件)。

UPDATE: 我现在找到了set\\u theme\\u mod()函数,这似乎是我正在寻找的,但当我尝试实现它时,我无法让它正常工作。API调用似乎设置正确,因为当我调用它时,当前标题图像会显示出来。问题是新图像没有设置。

提前非常感谢。

function cs_set_logo() {
    set_theme_mod(\'header_image\', $_POST[\'http://sprinth.xyz/britetest/wp-content/uploads/sites/2/2020/05/Universe-logo-test.png\']);
    return;
}

add_action(\'rest_api_init\', function() {
    register_rest_route(\'cs/v1\', \'changelogo\', [
        \'methods\' => \'POST\',
        \'callback\' => \'cs_set_logo\'
    ]);

});

1 个回复
最合适的回答,由SO网友:Himad 整理而成

标题图像属于WordPress所称的内容theme modification values. 要更新该类型的值,请使用函数set_theme_mod()

function cs_set_logo($request) {
 set_theme_mod(\'header_image\', $request->get_param(\'new_header_image\'));
 return new WP_REST_Response(null, 200);
}

add_action(\'rest_api_init\', function() {
  register_rest_route(\'cs/v1\', \'changelogo\', [
  \'methods\' => \'POST\',
  \'callback\' => \'cs_set_logo\'
  ])
});