如何将Woocomells元数据输入另存为元数据字段

时间:2019-08-02 作者:Lucas

我有一个插件,可以添加视频来代替Woocoemerce产品的特色图片。该插件只是添加视频URL并将其保存在产品中。我想通过元数据提供保存的URL,以便我可以通过导出到来编辑每个产品。CSV(Woocommerce导出功能)表。

当URL保存在产品中时,我就可以在插件中找到它。但我不知道如何将这些信息转换为Woocomece元数据。

    public function woofv_save_video_box( $post_id ) {
      if ( ! isset( $_POST[\'woofv_video_box_nonce\'] ) ) {
        return $post_id;
      }

      $nonce = $_POST[\'woofv_video_box_nonce\'];


      if ( ! wp_verify_nonce( $nonce, \'woofv_video_box\' ) ) {
        return $post_id;
      }


      if ( \'product\' == $_POST[\'post_type\'] ) {
        if ( ! current_user_can( \'edit_page\', $post_id ) ) {
          return $post_id;
        }
      } else {
        if ( ! current_user_can( \'edit_post\', $post_id ) ) {
          return $post_id;
        }
      }

      $woofv_data = array_map(\'sanitize_text_field\', $_POST[\'woofv_video_embed\'] );
      update_post_meta( $post_id, \'_woofv_video_embed\', $woofv_data );
    }
插件将视频链接保存在变量中$video_url. 这正是我想添加为Woocomece元数据的变量。如何才能做到这一点?

插件页面(如有必要):Wordpress plugin page - Woo featured video

1 个回复
SO网友:Syd McArdle

卢卡斯!

通常,当这样的插件用于将数据保存到特定产品(图像、注释或视频)时,“保存”就是将该信息存储在产品的元中以供使用,因此它应该已经在那里了。根据提供的截取代码判断,这种情况发生在..:

update_post_meta( $post_id, \'_woofv_video_embed\', $woofv_data );
视频链接存储在此特定函数中的变量“$woofv\\u data”中,而“\\u woofv\\u video\\u embed”是您稍后用于访问此值的元键。

如果你想看看你的产品的meta中发生了什么,有一些插件,比如JSM的Show-Post-meta,实际上会在下面显示你的所有产品/其他Post类型的meta键和值的列表。在开发时使用这样的东西非常方便,因为在尝试评估哪些信息存储了或并没有存储,以及存储在哪里时,需要进行大量猜测。

相关推荐

Get id from metabox dropdown

Im使用Reusable Metaboxes (旧但仍然有效)我创建了一个元框,允许用户从自定义帖子类型列表中选择帖子。现在效果很好,我可以看到列表中的所有帖子,我选择一个并保存。调用\\u meta()时看到的数据显示,该字段确实保存了我调用的帖子的id:第二集:a:1:{i:0;s:2:“18”}但我不知道如何获取id(在本例中为18-这需要根据所选的帖子进行动态),并使用它显示该帖子中的内容:标题、特色图片、元框内容。尝试了“最简单的一个”,但没有成功(因此我还需要帮助了解如何显示该帖子中的meta