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