Gravity Forms – vlastní pole a napojení na GP WebPay

Pro web newyou.de jsem vytvořil WordPress plugin, který do záznamů v Gravity Forms přidá možnost kolonku status a možnost status vybrat. Pokud administrátor vybere „Waiting for payment“, uživatele přijde email s odkazem na platební bránu GPWebPay, po dokončení platby je přesměrován zpět na web, status položky se aktualizuje a zapíše se log.

Gravity Forms mají poměrně přehledno dokumentaci, ale několik věcí nebylo přímočaré najít, např. přidání sloupce „Status“ do seznamu položek:

/**
     * Add column Status to entries list
     * @param $entry_meta
     * @param $form_id
     * @return mixed
     */

    add_filter('gform_entry_meta', 'custom_entry_meta', 10, 2);
    function custom_entry_meta($entry_meta, $form_id)
    {
        if ($form_id == 10) {
            $entry_meta['ny_item_status'] = array(
                'label' => 'Status',
                'is_numeric' => true,
                'is_default_column' => true
            );
        }

        return $entry_meta;
    }

a přidání metaboxu do detailu položky v Gravity Forms

/**
     * Add the meta box to the entry detail page.
     *
     * @param array $meta_boxes The properties for the meta boxes.
     * @param array $entry The entry currently being viewed/edited.
     * @param array $form The form object used to process the current entry.
     *
     * @return array
     */
    add_filter('gform_entry_detail_meta_boxes', 'register_meta_box', 10, 3);
    public function register_meta_box($meta_boxes, $entry, $form)
    {

        $meta_boxes[$this->slug] = array(
            'title' => 'Status',
            'callback' => array($this, 'add_details_meta_box'),
            'context' => 'side',
        );

        return $meta_boxes;
    }

Výsledkem je pohodlná a přehledná implementace GPWebPay na položky v Gravity Forms, vše samozřejmě s použitím upgrade-safe actions a filters WordPressu a Gravity Forms.

snimek-obrazovky-2016-12-20-v-16-40-10snimek-obrazovky-2016-12-20-v-16-39-51

1 Comment

  1. Lenka on 21.7.2017 at 13:20

    Tento příspěvek by mi velmi pomohl při programování vlastního metaboxu. Bylo by možné opravit snímky obrazovky v příspěvku? Moc děkuji.

Přidat komentář