Call current post URL in ajax

时间:2017-10-25 作者:thibaultlgd

不幸的是,我对阿贾克斯不是很有信心,

我希望通过ajax调用当前的帖子URL。

你知道这怎么可能吗?

到目前为止,我正在尝试以下方法,但没有成功。

        $(document).on(\'click\', \'.send\', function(e) {
        $.ajax({
            url: ajaxpagination.ajaxurl,
            type: \'POST\',
            dataType: \'json\',
            data: ({
              pageurl: the_slug(),
              userEmail: userEmail
            }),
            success: function( data ) {
                alert( \'Your home page hurl\' + $(pageurl);
            }
        })
--编辑--

根据mmm的注释,我在函数中添加了脚本。php,然后按如下方式调用它:

$(document).on(\'click\', \'.link\', function(e) {



    var $this = $(this),
        category = $this.attr(\'data-event-category\'),
        action = $this.attr(\'data-event-action\'),
        label = $this.attr(\'data-event-label\'),
        permalink =  object["permalink"]



    self.track(category, action, label);

            console.log(\'tracking pushed: \'+category+\', \'+action+\', \'+permalink)

});
},

似乎没有成功,我有一个未定义的对象。

1 个回复
最合适的回答,由SO网友:mmm 整理而成

您可以使用检索JavaScript中当前帖子的永久链接wp_localize_script.

只需在调用后尝试此代码wp_enqueue_script

wp_localize_script(
      "script_id"
    , "object"
    , [
        "permalink" => get_post_permalink($post),
    ]
);
然后您可以在中读取JavaScript中的永久链接object["permalink"]

结束

相关推荐

Append class to posts page

我正在尝试为博客/帖子页面设计一些独特的风格,而这并不在首页上。当前的body标记如下所示:<body <?php body_class() ?>><但是这样做<body <?php body_class(\'blog\') ?>> 仅返回<body class=\"logged-in\"> 或者只是<body> 如果我没有登录<我试过了:<body <?php if ( is_home()) {