I'm now developing on a Wordpress theme.
I have a custom post type named activity
:
register_post_type($class::$post_type, array(
'label' => $class::$post_type_name,
'description' => $class::$post_type_description,
// ....
And I'm editing the single-activity.php
template, I have a form on it:
<form id="form_main" method="post" action="">
<?php wp_nonce_field(); ?>
<!-- Other fields -->
</form>
When I open the url http://localhost/activity/slug/
, the page goes well.
But when I submit the form, ie request the url with a post
method, it was causing a 404
response, the url is just simply the same.
What could be the matter?
After a long period of debugging, I found the reason: the $_POST
fields affects the query.
In my case, I submit a field with key and values:
$_POST['title'] = 'new title';
I intend to create a new post with this title.
But in fact, the default query use this field as a where
condition to filter the current page, and finally got no results.
So, when posting data, BE AWARE of the reserved field names:
like:
For more, check about the document.
The most common issue is that reserved WordPress terms are used in the form which breaks the WordPress rewrite rules upon form submission. See this article for more details on it and how to solve the problem.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.