Plugins 使用Javascript定制Wordpress联系人表单谷歌地图反向地理定位赢得';行不通

Plugins 使用Javascript定制Wordpress联系人表单谷歌地图反向地理定位赢得';行不通,plugins,Plugins,我真的很困惑,我已经修改了sitepoint教程联系人表单,添加了额外的字段和google maps反向地理位置。我有一些奇怪的错误使我发疯。我可以让它在普通html中工作,但当我创建自定义插件代码并将其发送到wordpress时,javascript和jquery无法工作,即使脚本被抵抗并正确排队,我可以在wordpress页面的头部阅读它们 这就是我试图在我的本地主机上实现的(活动开发站点)(工作非常完美),然而,地图不会在我的远程站点上呈现,当我激活我的自定义插件时,我得到的只是html中

我真的很困惑,我已经修改了sitepoint教程联系人表单,添加了额外的字段和google maps反向地理位置。我有一些奇怪的错误使我发疯。我可以让它在普通html中工作,但当我创建自定义插件代码并将其发送到wordpress时,javascript和jquery无法工作,即使脚本被抵抗并正确排队,我可以在wordpress页面的头部阅读它们

这就是我试图在我的本地主机上实现的(活动开发站点)(工作非常完美),然而,地图不会在我的远程站点上呈现,当我激活我的自定义插件时,我得到的只是html中的基本表单输出,其他什么都没有

这可以在这里看到

自定义插件的插件代码在这里

    <?php   
    function contact_setup() {
        // Register the script like this for a plugin:
        wp_register_script( 'bootstrap-min', plugins_url( 'js/bootstrap.min.js', __FILE__ ) );
        wp_register_script( 'placepicker', plugins_url( 'js/jquery.placepicker.js', __FILE__ ),array('jquery') );
        wp_register_script( 'placepicker-min', plugins_url( 'js/jquery.placepicker.min.js', __FILE__ ),array('jquery') );
        wp_register_script( 'dtpicker', plugins_url( 'js/jquery.simple-dtpicker.js', __FILE__ ), array('jquery') ); 
        wp_register_script( 'googlemapslibrary', 'http://maps.googleapis.com/maps/api/js?v=3.exp&#038;sensor=false&#038;libraries=places&#038', __FILE__, false );
        wp_register_script( 'placepickershort', plugins_url( 'js/placepicker.js', __FILE__) );
        wp_register_script( 'appenddtpicker', plugins_url('js/appenddtpicker.js',__FILE__));


        wp_enqueue_script('bootstrap-min');
        wp_enqueue_script('placepicker');
        wp_enqueue_script('placepicker-min');
        wp_enqueue_script('dtpicker');
        wp_enqueue_script('googlemapslibrary');
        wp_enqueue_script('placepickershort');
        wp_enqueue_script('appenddtpicker');

    }



    add_action( 'wp_enqueue_scripts', 'contact_setup' );    


    function contact_styles() {
        wp_register_style( 'jquery-ui', plugins_url('css/jquery-ui.css', __FILE__));
        wp_register_style( 'bootstrap-theme-min', plugins_url( 'css/bootstrap-theme-min.css', __FILE__ ), array(), '20152208', 'all' );
        wp_register_style( 'bootstrap-min', plugins_url( 'css/bootstrap-min.css', __FILE__ ), array(), '20152208', 'all' );
        wp_register_style( 'contact-style', plugins_url( 'css/contact-style.css', __FILE__ ), array(), '20152208', 'all' );
        wp_register_style( 'jquery-simple-datepicker', plugins_url( 'css/jquery.simple-dtpicker.css', __FILE__ ), array(), '20152208', 'all' );

        wp_enqueue_script('bootstrap-theme-min');
        wp_enqueue_script('bootstrap-min');
        wp_enqueue_script('contact-style');
        wp_enqueue_script('jquery-simple-datepicker');  
    }

    add_action( 'wp_enqueue_scripts', 'contact_styles' ); 


    function html_form_code() {
        echo '<div class="form-cont" data-example>'."\r\n";    
        echo '<div class="form-box">'."\r\n";
        echo '<div class="form-group">'."\r\n";
        echo '<form action="' . esc_url( $_SERVER['REQUEST_URI'] ) . '" method="post">'."\r\n";
        echo '<p>'."\r\n";
        echo '<div class="form-group">'."\r\n";
            /*name input*/
        echo 'Your Name (required) <br />'."\r\n";
        echo '<input type="text" class="fm-text" name="fm_name" placeholder="Your Name" pattern="[a-zA-Z0-9 ]+" value="' . ( isset( $_POST["fm_name"] ) ? esc_attr( $_POST["fm_name"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";
            /*email input*/
        echo '<div class="form-group">'."\r\n";
        echo 'Your Email (required) <br />'."\r\n";
        echo '<input type="email" class="fm-text" name="fm_email" placeholder="Your Email Address" value="' . ( isset( $_POST["fm_email"] ) ? esc_attr( $_POST["fm_email"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";

            /*telephone input*/
        echo '<div class="form-group">'."\r\n";
        echo 'Your Telephone Number (required) <br />'."\r\n";
        echo '<input type="fm-text" placeholder="Your Telephone Number" name="fm_telephone" value="' . ( isset( $_POST["fm_telephone"] ) ? esc_attr( $_POST["fm_telephone"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";
            //
            //
            /*pick up points start here */
        echo '<div class="form-group">'."\r\n";
        echo 'Pick Up Point (required)<br />'."\r\n";
        echo '<input type="text" class="placepicker form-control" placeholder="Choose your pickup point" data-map-container-id="collapseOne" name="fm_pickup" value="' . ( isset( $_POST["fm_pickup"] ) ? esc_attr( $_POST["fm_pickup"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";

        echo '<div id="collapseOne" class="collapse">'."\r\n";
        echo '<div class="placepicker-map thumbnail"></div>'."\r\n";
        echo '</div>'."\r\n";

            /*via alternate pick up point (optional)*/
        echo '<div class="form-group">'."\r\n";
        echo 'Additional Pick Up Point (Optional)<br />'."\r\n";
        echo '<input type="text" class="placepicker form-control" placeholder="Choose an additional optional pick up point" data-map-container-id="collapsetwo" name="fm_via" value="' . ( isset( $_POST["fm_via"] ) ? esc_attr( $_POST["fm_via"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";

        echo '<div id="collapsetwo" class="collapse">'."\r\n";
        echo '<div class="placepicker-map thumbnail"></div>'."\r\n";
        echo '</div>'."\r\n";

            /*destination */
        echo '<div class="form-group">'."\r\n";
        echo 'Destination (required)<br />'."\r\n";
        echo '<input type="text" class="placepicker form-control" placeholder="Type in your destination" data-map-container-id="collapsethree" name="fm_destination" value="' . ( isset( $_POST["fm_destination"] ) ? esc_attr( $_POST["fm_destination"] ) : '' ) . '" size="40" />'."\r\n";
        echo '</div>'."\r\n";

        echo '<div id="collapsethree" class="collapse">'."\r\n";
        echo '<div class="placepicker-map thumbnail"></div>'."\r\n";
        echo '</div>'."\r\n";

            /*Return or Single */
        echo '<div class="form-group">';
        echo '<label>With Return:  ';
        echo '<input type="radio" class="fm-text" value="' . ( isset( $_POST["fm_booking_type"] ) ? esc_attr( $_POST["fm_booking_type"] ) : '' ) . '" name="fm_booking_type" checked/>';
        echo '</label>';
        echo '</div>';
        echo '<div class="form-group">';    
        echo '<label>One Way Only:  ';
        echo '<input type="radio" class="fm-text" value="' . ( isset( $_POST["fm_booking_type"] ) ? esc_attr( $_POST["fm_booking_type"] ) : '' ) . '" name="fm_booking_type" />';
        echo '</label>';
        echo '</div>';

            /*number in party*/
        echo '<div class="form-group">';
        echo '<label>Number in Party';
        echo '<input class="text" type="number" id="party_size" value="' . ( isset( $_POST["fm_party_size"] ) ? esc_attr( $_POST["fm_party_size"] ) : '' ) . '" name="fm_party_size">';
        echo '</label>';
        echo '</div>';

            /*overnight bags*/
        echo '<div class="form-group">';
        echo '<select id="luggage" name="luggage" value="' . ( isset( $_POST["fm_luggage"] ) ? esc_attr( $_POST["fm_luggage"] ) : '' ) . '" >';
        echo '<option>Overnight Bags</option>';
        echo '<option>Small Ruck Sacks</option>';
        echo '<option>Suitcases</option>';
        echo '<option>Golf Bags</option>';
        echo '<option>Sports Kits</option>';
        echo '</select>';
        echo '</div>';


        echo '<div class="form-group">';
        echo '<label>Date and Time of Departure';
        echo '<input type="text" value="' . ( isset( $_POST["date11"] ) ? esc_attr( $_POST["date11"] ) : '' ) . '" name="date11" />';
        echo '</label>';
        echo '</div>';
        echo '<div class="form-group">';
        echo '<label>Date and Time of return';
        echo '<input type="text" value="' . ( isset( $_POST["date12"] ) ? esc_attr( $_POST["date12"] ) : '' ) . '" name="date12" />';
        echo '</label>';
        echo '</div>';

    ?>

        <script type="text/javascript">
                                    $(function(){
                                        $('*[name=date10]').appendDtpicker({
                                            "closeOnSelected": true
                                        });
                                    });
                                    $(function(){
                                        $('*[name=date11]').appendDtpicker({
                                            "closeOnSelected": true
                                        });
                                    });
                                </script>
    <?php 
            /*Additional Message */
        echo 'Any Other Requirements or Pick Up Points';
        echo '<textarea rows="10" cols="35" name="message">' . ( isset( $_POST["message"] ) ? esc_attr( $_POST["message"] ) : '' ) . '</textarea>';
        echo '</p>';
        echo '<p><input type="submit" name="submitted" value="Send"/></p>';
        echo '</form>';
        echo '</div><!--end form-group-->';
        echo '</div><!--end form-box-->';
        echo '<div><!--end form-cont-->';
    }

    function deliver_mail() {

        // if the submit button is clicked, send the email
        if ( isset( $_POST['submitted'] ) ) {

            // sanitize form values
            $ct_name    = sanitize_text_field( $_POST["fm_name"] );
            $ct_email   = sanitize_email( $_POST["fm_email"] );
            $ct_telephone = sanitize_text_field($_POST["fm_telephone"]);
            $ct_subject = "Online Enquiry";

            //sanitise location information
            $ct_pickup = sanitize_text_field($_POST['fm_pickup']);
            $ct_via = sanitize_text_field($_POST['fm_via']);
            $ct_destination = sanitize_text_field($_POST['fm_destination']);

            //sanitise additional infomration//
            $ct_booking_type = ($_POST['fm_booking_type']);
            $ct_party_size = ($_POST['fm_party_size']);
            $ct_luggage = ($_POST['fm_luggage']);

            $ct_message = esc_textarea( $_POST["message"] );
            $ct_date11 = sanitize_text_field($_POST['date11']);
            $ct_date12 = sanitize_text_field($_POST['date12']);

            // get the blog administrator's email address
            $to = get_option( 'admin_email' );

            $headers = "From: $ct_name <$ct_email>" . "\r\n";

            // If email has been process for sending, display a success message
            if ( wp_mail( $to, $ct_subject, $ct_message, $headers)) {
                echo '<div>';
                echo '<p>Thanks for contacting Us, we will be in touch soon.</p>';
                echo '</div>';
                echo $to, $ct_name, $ct_email, $ct_telephone, $ct_subject, $ct_pickup, $ct_via, $ct_destination, $ct_booking_type, $ct_luggage, $ct_date11, $ct_date12, $message, $headers;
            } else {
                echo 'An unexpected error occurred';
            }
        }
    }

    function cf_shortcode() {
        ob_start();
        deliver_mail();
        html_form_code();

        return ob_get_clean();
    }

    add_shortcode( 'sitepoint_contact_form', 'cf_shortcode' );

    ?>

我一直在努力尝试,发现如果我粘贴在网页顶部标题中的链接,我可以让插件或多或少按预期工作,因此我显然在wordpress中设置的注册和查询脚本方面出了问题。如果有人能帮忙,我看不出那是什么?谢谢:)奇怪的是,在开发表单时,我使用这个jQuery库创建了我的html表单(),但该站点引用了这个表单(wordpress中包含的默认值)‘我确保它们都是相同的版本,因为我在开发表单时注意到了这一点,并且我已经检查了它们,虽然有一个单词在最后一行以“无冲突”结尾。所有其他条目看起来都是一样的。我不得不作弊并使用和IFRAME:(我知道它不太理想,但在这种情况下,doe比perfect好。如果有人能纠正上述问题,尽管我仍然想找出我的代码不起作用的原因。