Admin_Apple_Index_Page::push_action PHP Метод

push_action() приватный Метод

Handles a push to Apple News action.
private push_action ( integer $id )
$id integer
    private function push_action($id)
    {
        // Ensure the post is published
        if ('publish' != get_post_status($id)) {
            $this->notice_error(sprintf(__('Article %s is not published and cannot be pushed to Apple News.', 'apple-news'), $id));
            return;
        }
        // Check the nonce.
        // If it isn't set, this isn't a form submission so we need to just display the form.
        if (!isset($_POST['apple_news_nonce'])) {
            return;
        }
        // If invalid, we need to display an error.
        if (!wp_verify_nonce($_POST['apple_news_nonce'], 'publish')) {
            $this->notice_error(__('Invalid nonce.', 'apple-news'));
        }
        // Save fields
        \Admin_Apple_Meta_Boxes::save_post_meta($id);
        $message = __('Settings saved.', 'apple-news');
        // Push the post
        $action = new Apple_Actions\Index\Push($this->settings, $id);
        try {
            $action->perform();
            // In async mode, success or failure will be displayed later
            if ('yes' !== $this->settings->get('api_async')) {
                $this->notice_success(__('Your article has been pushed successfully!', 'apple-news'));
            } else {
                $this->notice_success(__('Your article will be pushed shortly.', 'apple-news'));
            }
        } catch (Apple_Actions\Action_Exception $e) {
            $this->notice_error($e->getMessage());
        }
    }