[wp-hackers] meta box and input field seem not to work on writing post/page

Pasi Koponen pasi.koponen at eetanet.fi
Wed Sep 16 09:58:58 UTC 2009


This is my first message in here so sorry if you have allready covered 
add_meta_box() ( 
http://codex.wordpress.org/Function_Reference/add_meta_box ) function 
and usage in here and picking up PUT/GET http commands on post/page 
writing page.

I am fidling around with posts and pages meta box. It seems that I 
cannot get <input type="hidden" ....> to work right. I have googled and 
searched around and it seems that I am doing something totally wrong. 
Does anybody have an idea where I am doing stuff wrong. Here is a simple 
"Hello World" plugin to illustrate the problem. It seems that wordpress 
is messing around in writing post/page the $_REQUEST['hellomessage'] and 
$_POST['hellomessage'] variables(this might not be the correct term).

How the sample plugin works:
It first creates the meta box by adding metboxHook to wordpress 
'admin_menu' hook and creates meta_box to posts side panel. The sample 
plugin should send (pushing the update post button) to server(http POST) 
hellomessage which is first echo:ed out by $_POST and after that with 
$_REQUEST (just for testing). So basicly in the metabox there should 
became text "Hello World" after submitting editing post. It seems not to 
work and I am totally clueless what I am doing wrong.


Here is the sample plugin to illustrate the problem:
--X<---X<---X<---X<---X<---X<---X<---X<---X<---X<---X<--
<?php
/*
Plugin Name: metaboxtest
Plugin URI:
Description: testing metabox
Version: 1.0
Author: basix
Author URI:
*/
?>
<?php
/*
   This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  
02110-1301  USA
*/
?>
<?php
if(!class_exists(metaboxTest)){
    class metaboxTest{
        function metaboxHook(){
                add_meta_box('hellomessage', 'hellomessage', array(& 
$this,'metabox'), 'post', 'side', 'high');
        }
        function metabox(){
            printf('<label for="hellomessage">Hi</label><input 
type="hidden" id="hellomessage" name="hellomessage" value="Hello World" 
/>');

            echo $_POST['hellomessage'];
            echo $_REQUEST['hellomessage'];
        }
    }
}

if(class_exists(metaboxTest)) {
    if(!isset($mBox)) {
        $mBox= new metaboxTest;
        add_action('admin_menu', array(& $mBox, 'metaboxHook'));
    }
}
?>

-X<---X<---X<---X<---X<---X<---X<---X<---X<---X<---X<--


More information about the wp-hackers mailing list