WordPress:添加自定义字段以发布表单并进行处理

时间:2018-07-12 11:08:00

标签: wordpress

首先:请不要提供“高级自定义字段”插件。有一个很好的理由说明为什么我必须按照以下方式进行操作(我不会对此感到厌烦):

我有一个自定义帖子类型(使用“自定义帖子类型” UI插件创建)。我需要添加自定义HTML表单输入,并在管理员单击“更新按钮”时分别处理它们-我需要将这些值中的输入保存在单独的表中。

它一定不会影响后期保存算法。请告诉我如何添加该个人创建的HTML,以及通过主题的functions.php文件更新或创建帖子时如何处理HTML。

谢谢。

关于第一个注释,我拥有的代码什么都不是,但是这里是我要实现的目标

嗨!感谢您的澄清。好吧,我只有这个:

add_action( 'edit_form_after_title', 'addHtmlToForm' );

function addHTMLToForm(){
  global $post;

  if($post->post_type == 'custom_post_type'){
    echo '<div><input type="text" name="custom_field"></div>';
  }
}

add_action( 'wp_some_post_save_action', 'saveExtraFields');

function saveExtraFields(){
  $custom_field = $_POST['custom_field'];

  //here I will save my fields
}

我不知道我应该附加什么钩子和动作。我设法解决了任务的第一部分-在表单中添加自定义html,但是我仍然不知道如何处理它。

1 个答案:

答案 0 :(得分:0)

我自己做。非常感谢您:

add_action( 'edit_form_advanced', 'addHtmlToForm' );

function addHTMLToForm(){
    global $post;

    if($post->post_type == 'ico'){

        echo '<div><input type="text" name="custom_field"></div>';

    }
}

add_action( 'save_post', 'saveExtraFields');

function saveExtraFields(){

    global $post;

    if($post->post_type == 'ico'){
        $custom_field = $_POST['custom_field'];

        echo $custom_field;
    }


}