使用wordpress插件的HTML表单动作?

时间:2016-07-04 07:44:19

标签: wordpress

function theme_options_panel(){        add_menu_page('ss title','Social Share','manage_options','theme-options','ss_callback');

   }
   add_action('admin_menu', 'theme_options_panel');

function ss_callback(){

   $html .='<form action="index.php/wp-content/plugins/social_media/ss_query.php" method="post">';
   $html .= '<br> <br>';        
   $html .= '<p class="description">';
   $html .= 'Upload your social link  here.';
   $html .= '</p>';
   $html .= 'Facebook:'.'<input type="URL" name="fb" value="" />';
   $html .=  '</br>';
   $html .= 'Twitter:'.'<input type="URL"  name="tw" value=""  />';
   $html .=  '</br>';
   $html .= 'Linkedin:' . '<input type="URL"   name="lin" value="" />';  
   $html .=  '</br>';   
   $html .= '<input type="submit" name="submit" value="Save">';
   $html .= '</form>';

   echo $html;


}

1 个答案:

答案 0 :(得分:0)

您不应该将数据发送到插件中的PHP文件,您将无法在那里使用WordPress核心功能。

所以解决方案是使用钩子。

在表单中放置一个隐藏字段,它应该是唯一的。例如:

<input type="hidden" name="unique_hidden_field" value="1">

您不再需要此操作,只需将其提交到当前页面:

<form action="" method="post">

PHP代码:

add_action( 'init', 'process_post' );

function process_post() {
     if( isset( $_POST['unique_hidden_field'] ) ) {
          //You code goes here
          //You can use $_POST['fb']
     }
}

希望有所帮助!