首页 > 解决方案 > 将帖子添加到购物车

问题描述

我正在尝试在 Wordpress 中创建一个简单的“添加到购物车”功能,实际上更多的功能将充当访问者保存的帖子列表。我想通过 ajax 使用 admin-ajax.php 和操作来做到这一点。

我的 javascript 看起来像这样,可以做我想做的事。它将帖子的 id 传递给操作。我的弱点是这里的 PHP。我想要做的是通过传递的 ID 获取帖子,然后使用常规的 foreaach 循环在另一个页面上列出它们。我该怎么做?通过一些会议?

$('button.js-add-to-cart').on('click', (e) => {
  e.preventDefault();

  const el = $(e.currentTarget);
  const id = el.data('id');

  $.ajax({
    type: 'POST',
    url: '/wp-admin/admin-ajax.php',
    data: {
      action: 'add_to_cart',
      id: id
    },
    success: function(output) {
      el.find('.label').hide();
      el.find('.response').text(output);
      el.addClass('bg-branding-success pointer-events-none');
    },
    error: function(xhr, status, error) {
      //var errorMessage = xhr.status + ': ' + xhr.statusText;
    }
  });
});

下面是我需要帮助的 PHP。(函数.php)

add_action('wp_ajax_add_to_cart', array($this, 'mediabank_add_to_cart'));
add_action('wp_ajax_nopriv_add_to_cart', array($this, 'mediabank_add_to_cart'));

function mediabank_add_to_cart() {
  if(isset($_POST['id'])) {

  }
}

标签: phpwordpress

解决方案


推荐阅读