जब मैं वर्डप्रेस में एक फॉर्म जमा करता हूं तो यह 404 पेज लोड करता है, हालांकि URL सही होता है


23

मैं सिर्फ एक साधारण संपर्क फ़ॉर्म बना रहा हूं, लेकिन मैं ध्यान देता हूं कि यह एक अमान्य पृष्ठ पर पोस्ट होता है। ब्राउज़र में url सही है लेकिन पृष्ठ का शीर्षक "पृष्ठ नहीं मिला" है

पृष्ठ के शीर्ष पर

$emailed = false;
if (isset($_POST['submit'])) {
    wp_mail('example@example.com', $_POST['subject'], $_POST['content']);
    $emailed = true;
}

नीचे ... HTML:

<form action="<?php the_permalink(); ?>" method="post" id="contactform">
    <div class="formelem">
        <label for="name">Name</label>
        <input type="text" name="name" class="required" />
    </div>
    <div class="formelem">
        <label for="email">Email</label>
        <input type="text" name="email" class="required email" />
    </div>
    <div class="formelem">
        <label for="subject">Subject</label>
        <input type="text" name="subject" class="required" />
    </div>
    <div class="formelem">
        <label for="content">Content</label>
        <textarea name="content" cols="30" rows="10" class="required"></textarea>
    </div>

    <input type="submit" value="Submit Message" name="submit" value="submit" />
</form>

2
आपका पृष्ठ किस URL पर स्थित है?
माइकस्किंकेल

यदि आप WooCommerce सबस्क्रिप्शन का उपयोग करते हैं तो यही समस्या दिखाई देती है और आपके पास "सदस्यता" नाम का इनपुट फ़ील्ड है। मुझे यह पता लगाने में काफी समय लग गया कि क्या हो रहा है और मैं इस पोस्ट की बदौलत इसे ठीक कर पाया। मुझे उम्मीद है कि WooCommerce सदस्यता का उपयोग करने वाले किसी और के पास एक समान मुद्दा है जो सहायक होता है!
व्हिपलैश

जवाबों:


49

मैं गलत हो सकता है, लेकिन मुझे अस्पष्ट रूप से यह याद है कि: नाम, ईमेल को टिप्पणी पोस्ट करने के लिए वर्डप्रेस द्वारा अपहरण कर लिया जाता है, यदि आपने संपर्क नाम और संपर्क-ईमेल होने के लिए फार्म तत्वों का नाम बदला है, तो क्या आपको एक ही मुद्दा मिलता है?


1
हाँ, यह नाम क्षेत्र है, इसके बजाय jm_name जैसे नामस्थान :)
बैकी

धन्यवाद टॉम! WP वास्तव में फॉर्म को हाईजैक कर रहा था। वह अजीब है।
स्वेतोस्लाव मारिनोव

मामले में मदद करने वाले AngularJS के लिए भी यह सही है। ;)
मार्क

मैंने इस मुद्दे का सामना किया, इस जवाब ने मुझे सही रास्ते पर ले जाने के लिए प्रेरित किया। मेरे पास नाम या ईमेल के साथ कोई फ़ील्ड नहीं था, लेकिन इनपुट नाम में से एक कस्टम पोस्ट प्रकार (cpt) के बराबर था, इसलिए यह wp क्वेरी और 404 को ट्रिगर कर रहा था। इसलिए मैंने इसे cpt से अलग बनाने के लिए फ़ील्ड का नाम बदल दिया, और इसे ठीक कर दिया मुद्दा।
मोहसिन

4

यह केवल name या कोई emailसमस्या नहीं है, जैसा कि टॉम ने लिखा था। मुझे नाम विशेषता के साथ इनपुट फ़ील्ड के साथ भी समस्या थी मेरे कस्टम पोस्ट प्रकारों में से एक के रूप में। उदाहरण के लिए:

...
<input type="text" name="movie">
...

और कहीं और CPT "मूवी" पंजीकृत होने के बाद, आपका फॉर्म सबमिट करना 404 त्रुटि के साथ समाप्त हो जाएगा।

निष्कर्ष: उपयोग नहीं करते हैं name, emailऔर any registered custom post type handleअपने रूपों में इनपुट नाम विशेषता मान के रूप में।


खैर, मैंने अधिक सटीक जानकारी के साथ मूल प्रश्न का उत्तर देने का प्रयास किया। एहम, शायद ... :-) थोड़ा संपादन जोड़ना।
मारेक

1

name="email"जैसे कुछ बदलने की कोशिश करें name="my_theme_email", अपने सभी क्षेत्र के साथ ऐसा करें जैसे कुछ नाम लगता है कि वर्ड के साथ आरक्षित हैं जब फॉर्म डेटा भेजते हैं। मुझे वही समस्या मिली और मैंने इसे ठीक कर दिया।


0

यह मेरे लिए काम करता है, बस अपना बदला

input type name, email, subject, and content to any name as names, emails, subjects, contents.

यह काम करेगा। धन्यवाद।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.