48 lines
971 B
PHP
48 lines
971 B
PHP
<?php
|
|
/**
|
|
* Task and TaskList Traits
|
|
*/
|
|
|
|
namespace Automattic\WooCommerce\Admin\Features\OnboardingTasks;
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* TaskTraits class.
|
|
*/
|
|
trait TaskTraits {
|
|
/**
|
|
* Record a tracks event with the prefixed event name.
|
|
*
|
|
* @param string $event_name Event name.
|
|
* @param array $args Array of tracks arguments.
|
|
* @return string Prefixed event name.
|
|
*/
|
|
public function record_tracks_event( $event_name, $args = array() ) {
|
|
if ( ! $this->get_list_id() ) {
|
|
return;
|
|
}
|
|
|
|
$prefixed_event_name = $this->prefix_event( $event_name );
|
|
|
|
wc_admin_record_tracks_event(
|
|
$prefixed_event_name,
|
|
$args
|
|
);
|
|
|
|
return $prefixed_event_name;
|
|
}
|
|
|
|
/**
|
|
* Get the task list ID.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function get_list_id() {
|
|
$namespaced_class = get_class( $this );
|
|
return is_subclass_of( $namespaced_class, 'Automattic\WooCommerce\Admin\Features\OnboardingTasks\Task' )
|
|
? $this->get_parent_id()
|
|
: $this->id;
|
|
}
|
|
}
|