Получить мета-значение WP Post с Ajax в модальном div - PullRequest
0 голосов
/ 03 апреля 2020

Необходимость получения мета-значения "причины" при нажатии на кнопку с идентификатором. Использование этого в цикле запросов к сообщениям У меня есть модальное значение с настраиваемым div # id для получения значения внутри него

Я поставил шорткод [ibenic_post] ниже кнопки, которая вызывает модальное

кнопка запускает модальное, но ошибка в получении мета

<button  type="button" class="open_modal" data-toggle="modal" id="read_<?php the_id(); ?>" onClick='ibenic_show_post_js(<?php the_id(); ?>)' data-target="#cxpModal<?php the_id(); ?>">
</button>
<?php
add_action('wp_ajax_nopriv_ibenic_show_post', 'ibenic_show_post');
add_action('wp_ajax_ibenic_show_post', 'ibenic_show_post');
function ibenic_show_post()
{
    check_ajax_referer('ibenic-bootstrap', 'security');
    $this_id = the_id();
    $id = $_GET['id'];
    $post = get_post($id);
    $post_causes = get_post_meta($this_id, 'causes');
    if ($post)
    {
        wp_send_json(array(
            'post_causes' => $post_causes
        ));
    }
    else
    {
        wp_send_json(array(
            'error' => '1'
        ));
    }

    wp_die();
}

function show_post_field_in_modal()
{
    $ajax_nonce = wp_create_nonce("ibenic-bootstrap");
?>
     <script>
      function ibenic_show_post_js("<?php the_id(); ?>"){
          jQuery.ajax({
          url: "<?php echo admin_url('admin-ajax.php'); ?>",
          data: { id:  id, action: 'ibenic_show_post', security: '<?php echo $ajax_nonce; ?>'},

          success: function(response){
          if(response['error'] == '1'){
               jQuery("#causes_<?php the_id(); ?>").html("");
               jQuery("#causes_<?php the_id(); ?>").html("");
          } else {
               jQuery("#causes_<?php the_id(); ?>").html(response['post_causes']);

          }

               }
          });
         }
     </script>
     <?php
}
add_shortcode('ibenic_post', 'show_post_field_in_modal');
'''
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...