通过博客上的小部件将数据发送到网站

时间:2014-07-21 15:39:50

标签: php plugins widget wordpress-plugin

我希望创建一个小部件/插件,可以在单击时发送一个简单的变量。这个想法是,当这个小部件被添加到一个博客,并被其中一个读者点击时,它会向我的域发送一条消息(例如,www.example.com),其中包含相关博客的网址(哪个可以然后用于增加计数或某事,例如)。

我对小部件/插件很新,所以我不完全确定这是否可行。我不打算用代码填充,只需在正确的方向上指点一些就会有很大的帮助。

原谅我,我还没有尝试任何事情,因为我不确定从哪里开始。如果我需要提供更多信息,如果我的标签不正确,或者我的问题不清楚,请告诉我!

3 个答案:

答案 0 :(得分:1)

大多数可分发的小部件都有以下几个方面:

  1. 窗口小部件脚本(由您控制​​)并由最终用户包含在其站点中。 像<script src="http://example.com/yourAwesomeScript.php"></script>这样的地方,其中example.com是您的网站或cdn。

  2. 窗口小部件容器(由最终用户嵌入)告诉脚本在哪里注入窗口小部件代码。如果您的窗口小部件不依赖于位置容器(例如,固定/绝对元素),则可以跳过此窗口。

  3. 您可以使用jQuery这样的Javascript库,让您的生活更轻松地在Javascript中进行编码。

    我在非常基本的小部件下面订阅。我使用PHP输出Javascript,这将允许您的小部件发送动态数据。您也可以将params传递给您的脚本,如

    http://example.com/yourAwesomeScript.php?user_key=1234564789

    最终user.html

    <script src="http://example.com/yourAwesomeScript.php"></script>
    

    <div id="widgetCont"></div>
    

    <强> yourAwesomeScript.php

    <?php
    
    if($_POST){
    
    if($_POST['email']){
        $new_subscribed = true ; //check and add to database and return if subscribed 
        if($new_subscribed){
            echo "You have successfully subscribed";
        }else{
            echo "You are already subscribed";
        }
    }
    }else{
    ?>
    
       $(document).ready(function(){
            $input = $('<input/>').prop("type","text").prop("id","widget_email");
            $submit = $('<input/>').prop("type","button").prop("value","Subscribe").prop("id","submit_email");
            $('#widgetCont').html($input,$submit);
            $('#widgetCont #submit_email').click(function(){
                $.ajax({
                    url : "http://example.com/yourAwesomeScript.php",
                    method : "post",
                    data : {email:$("#widget_email").val()},
                    success :function(data){
                     alert(data);
                    }
                })
            });
        });
    <?php
    }
    ?>
    

    我希望这会有所帮助。

答案 1 :(得分:0)

在PHP中,您可以使用cURL激活其他域上的代码。您可以在cURL中设置将发送到该页面的GET或POST变量。然后可以通过$_GET$_POST数组在PHP中操作它们。

cURL的例子: http://php.net/manual/en/curl.examples-basic.php

答案 2 :(得分:0)

您应该尝试在域上设置HTTP服务,然后创建一个窗口小部件,对您的HTTP服务执行POST请求。

PHP的一个很好的功能是cURLClient URL Library

以下是如何使用cURL的小指南 cURL guide