1

我正在构建一个网络推送 WordPress 插件,我想将项目编号从表单输入字段传递到 manifest.json 文件,该文件包含在 index.php 中

<link rel="manifest" href="/manifest.json">
4

2 回答 2

3

免责声明:我是这个插件的作者。您可以为已经存在的https://github.com/mozilla/wp-web-push做出贡献,而不是从头开始构建自己的。

如果您想构建自己的,可以查看该插件的源代码以了解我们如何实现它。

我们构建了一个类来处理它:https ://github.com/marco-c/wp-web-app-manifest-generator 。

于 2016-10-31T13:50:39.383 回答
0

您不能将任何参数传递给manifest.json. 提交表单时,您必须将其生成为静态文件。

这是我们用于Pushpad 插件的代码:

if (file_exists ( ABSPATH . 'manifest.json' )) {
  $oldManifestJson = file_get_contents ( ABSPATH . 'manifest.json' );
} else {
  $oldManifestJson = '{}';
}
$data = json_decode ( $oldManifestJson, true );

$data ['gcm_sender_id'] = $settings ['gcm_sender_id'];
$data ['gcm_user_visible_only'] = true;
$newManifestJson = json_encode ( $data );
if ( is_writable ( ABSPATH . 'manifest.json' ) || !file_exists ( ABSPATH . 'manifest.json' ) && is_writable ( ABSPATH ) ) {
  file_put_contents ( ABSPATH . 'manifest.json', $newManifestJson );
} else {
  // display an error
}
于 2016-11-01T08:49:33.710 回答