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:

[php]
/**
* 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;
}
[/php]

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

[php]
/**
* 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;
}
[/php]

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ář