首次发布后调用Web服务

时间:2014-09-19 作者:mike_x_

我想在发布帖子时调用一些web服务。我想添加一个复选框,以便决定发布后是否调用。

我找到了调用REST和SOAP web服务的代码,但我不知道:

如何在“new post”管理页面中添加复选框

2 个回复
最合适的回答,由SO网友:Tomás Cot 整理而成

要添加复选框,需要使用add_meta_box 函数,使用该函数可以为新的post屏幕创建元数据库。您必须创建一个生成checkbox元素的函数,仅此而已publish_post 要在发生这种情况时调用所需的服务,您还有其他选择,如save_post. 这实际上取决于您希望代码的灵活性

  • 在第一步中,您创建了一个自定义元盒,当您编写该函数时,您应该创建一个input 带有name, 因此,您可以从POST数组访问复选框的值,如下所示$_POST[\'name_of_the_field\'].publish_post 操作,您可以获得如下Post数据:

    add_action( \'publish_post\', \'post_publish_func\', 10, 2 );
    
    function post_publish_func($id, $post){
    
    $title = $post->post_title; //or get_the_title()
    $categories = get_the_category($id);
    $checkbox = $_POST[\'name_of_the_checkbox\'];
    
    //magic goes here
    }
    
    使用时要小心get_the_title$post->post_title, 因为如果你在修改帖子,get_the_title 获取已存储在DB中的值(进行修改之前的标题),并$post->post_title 获取修改版本的值。其他方法也会出现这种情况,get_the_content 例如

  • SO网友:Steve Claridge

    您可以使用以下命令触发web服务调用代码:http://codex.wordpress.org/Plugin_API/Action_Reference/publish_post

    您可以使用以下选项添加复选框:http://codex.wordpress.org/Function_Reference/add_meta_box

    结束

    相关推荐

    WP_QUERY POSTS_PER_PAGE仅返回一个帖子

    我正在尝试修改Genesis选项卡插件,以便在每个选项卡上显示多个帖子。在过去的一个小时里,我一直在徒劳地尝试,但不幸的是,我的一点PHP知识并不能解决这个问题。以下是当前代码,该代码应返回5个帖子标题(\'posts\\u per\\u page\'=>5),但仅显示一个:// Loop through all chosen categories foreach ( (array) $cats as $cat ) : if ( !