如何将项目编号传递给manifest.json

时间:2016-10-31 11:29:40

标签: web-services push-notification service-worker web-push chrome-gcm

我正在构建一个Web推送WordPress插件,我想将表单输入字段中的项目编号传递给manifest.json文件 它包含在index.php中作为

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

您无法将任何参数传递给manifest.json。提交表单时,您必须将其作为静态文件进行格式化。

以下是我们用于Pushpad plugin的代码:

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
}