This is my code for the radio buttons. I would like them to be displayed in the settings page and save it for future use.
<form method="post" action="options.php">
<?php
wp_nonce_field('update-options');
$rsp_position = get_option('rsp_position');
if(empty($rsp_position)){
$rsp_position = "true";
} else {
$rsp_position = get_option('rsp_position');
}
?>
<p><strong>Ad Placing:</strong><br />
<input type="radio" id="1" name="rsp_position" <?php if($rsp_position == 'true') echo 'checked="checked"'; ?> value="true" />yes <br />
<input type="radio" id="2" name="rsp_position" <?php if($rsp_position == 'false') echo 'checked="checked"'; ?> value="flase" />no <br />
<input type="text" name="publisher-id" size="45" value="<?php echo get_option('publisher-id'); ?>" />
</p>
<p><input type="submit" name="Submit" value="Save" /></p>
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="publisher-id" />
<?php
settings_fields( 'save_position' );
register_setting( 'save_position', 'rsp_position');
?>
You're going along the right lines, but your calls to settings_fields and register_setting aren't in the right place.
Read Otto's tutorial on this, it's a good introduction to the settings API.
Basically, add an admin_init action and in the callback register the setting and use add_settings_field to create the form items.
Then in your add_options_page callback you make the call to settings_fields to display the entries created with add_settings_field.
If you're still struggling having worked through Otto's tutorial, post back again.
EDIT: Following pastebin entry.
The failure to save is a result of your validation function not returning the expected value. The preg_match is not finding the right value and turning the string to '' (nothing) before saving - so it looks like it's not saving, when in fact it's saving nothing.
You could also check out the following functions which may be useful.
submit_button
settings_errors
Related
In my plugin I have an action in my form that is supposed to take me to a template page called go, but when I click on it wordpress tells me that it does not exist but if I refresh the page then it loads up the go page. Any ideas why it wont just load normally and how to fix it?
<form name="trailer-bulk-waste-free" method="post" action="go">
<input type="hidden" name="date" value="<?php echo"$date"; ?>">
<input type="hidden" name="pickup" value="<?php echo"$pu" ?>">
There is a bunch of other inputs in here but probably redundant to put.
<p><input type="submit" name="CONTINUE" value="CONTINUE" />
An easy and straight forward way is to assign the go page template to a page. Let's say ID of that page is 77, then do this.
<form name="trailer-bulk-waste-free" method="post" action="<?php the_permalink( 77 ); ?>">
<input type="hidden" name="date" value="<?php echo"$date"; ?>">
<input type="hidden" name="pickup" value="<?php echo"$pu" ?>">
There is a bunch of other inputs in here but probably redundant to put.
<p><input type="submit" name="CONTINUE" value="CONTINUE" /></p>
</form>
Hopefully, this will work as you expect it to.
Try it with another browser to see if it might be from the browser's cache.
I am working on a plugin for countdown timer for WordPress. Found a tutorial here
have implemented everything stepwise. but the input box in the Timer Widget does not allow to input date, hours, time. So basically, this is not working.
<a class="tp-time-edit" href="javascript:void(0);">[ Edit ]</a><br/><br/>
<label>Select a date:</label><br/>
<input type="text" name="tp-date" class="tp-date" readonly="true" value="<?php echo $tp_arr['tp-date']; ?>"></input>
<p><div class="tp-time"><label>Hours</label>
<input name="tp-hour-val" class="tp-hour-val" value="<?php echo $tp_arr['tp-hour']; ?>" readonly="true"></input><div class="tp-hour"></div>
</p>
<p><label>Minutes</label>
<input name="tp-minute-val" class="tp-minute-val" readonly="true" value="<?php echo $tp_arr['tp-minute']; ?>"></input><div class="tp-minute"></div></div></p>
<input type="hidden" name="tp-hidd" value="true" />
<input type="button" class="tp-insert-shortcode button-primary" id="publish" value="Insert Short-Code" />
this is the code which displays the input boxes in the text widget. M not able to figure out whts wrong with this.
As i check the tutorial link . there is nothing wrong with the sample code that u provide
you have to check first do you really get the value of those PHP variables
i.e
<?php echo $tp_arr['tp-date']; ?>
<?php echo $tp_arr['tp-hour']; ?>
<?php echo $tp_arr['tp-minute']; ?>
First of all check those variables ???
I am using the code below but am not sure how to add in two separate search forms that search for products ONLY in the parent category. Either product_parent_cat_floral or product_parent_cat_rentals
<?php
$classes = get_body_class();
if (in_array('product_parent_cat_rentals',$classes)) {
?>
//rentals search form would go here
<?php } else { ?>
//flowers search form would go here
<?php } ?>
Can I edit this search form to somehow make it only search for products within the appropiate parent class?
<form role="search" method="get" id="searchform" action="http://botanicaevents.com/rentals/">
<div>
<label class="screen-reader-text" for="s">Search for:</label>
<input type="text" value="" name="s" id="s" placeholder="Search for products" />
<input type="submit" id="searchsubmit" value="Search" />
<input type="hidden" name="post_type" value="product" />
</div>
</form>
I think you can simply use:
<input type="hidden" name="product_cat" value="rentals" />
so your search query becomes:
?s=some+search+string&post_type=product&product_cat=rentals
to additionally restrict the search within the rentals product category.
I am using wordpress 3.3.1 with twentyten theme,
i have created a plugin to create a custom form,
i have successfully installed this in wordpress,
my plugin file code is as follows
<?php
function guest_event_form()
{
if(isset($_POST['submit']) and $_POST['action']=='new registration')
{
global $wpdb;
$wpdb->query("Insert Query...");
}
else
{
?>
<form method="POST" action="" name="guest_registration" enctype="multipart/form-data">
<input type="text" id="name" name="name" value="">
<input type="submit" name="submit" value="Register Me Now"/>
<input type="hidden" name="action" value="new registration" />
</form>
<?php
}
}
add_shortcode( 'guest_event_form', 'guest_event_form' );
?>
whenever i am submitting this form, i returns to same page with search results,
so i guess the problem whenever i submit this form, wordpress takes this submit action as a search action, and it starts search
how do i overcome this problem??
The Problem is because of following form element's id
<input type="text" id="name" name="name" value="">
name is one of the wordpress internal variable
Change it like this:
<input type="text" id="customername" name="customername" value="">
i am picking up wordpress development and reading the book digging into wordpress. i have the code below in functions.php
<?php
add_action('admin_menu', 'addAmazonAffiliateOptions');
function addAmazonAffiliateOptions() {
add_options_page('Global Custom Fields', 'Global Custom Fields', 8, 'functions', 'editGlobalCustomFields');
}
function editGlobalCustomFields() { ?>
<div class="wrap">
<h2>Global Custom Fields</h2>
<form action="options.php" method="post">
<?php wp_nonce_field('update_options'); ?>
<p>
<label for="amazonId"><strong>Amazon ID</strong></label>
<input type="text" name="amazonId" value="<?php echo get_option('amazonId'); ?>" />
</p>
<p>
<input type="submit" name="submit" value="Update Options" />
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="amazonId" />
</p>
</form>
</div>
<?php }
when i try to save the options, i get
Your attempt to edit your settings has
failed.
how do i debug such things in wordpress?
I think you need to be using register_setting() - the WordPress core and API has changed quite considerably since that book was published.
Check out the codex on WordPress 2.7+ for adding plugin options pages.