* @since 1.0.0 */ namespace AdvancedAds\Genesis; use AdvancedAds\Abstracts\Placement; use AdvancedAds\Framework\Interfaces\Integration_Interface; defined( 'ABSPATH' ) || exit; /** * Admin Class. */ class Admin implements Integration_Interface { /** * Hook into WordPress. * * @return void */ public function hooks(): void { add_action( 'advanced-ads-placement-options-after', [ $this, 'placement_options' ], 10, 2 ); } /** * Options for the placement. * * @param string $placement_slug Placement id. * @param Placement $placement Placement instance. * * @return void * @since 1.0.0 */ public function placement_options( $placement_slug = '', $placement = [] ) { // Early bail!! if ( ! $placement->is_type( 'genesis' ) ) { return; } $genesis_positions = $this->get_genesis_hooks(); $current = $placement->get_prop( 'genesis_hook' ) ?? ''; include AA_GENESIS_ABSPATH . 'views/admin/positions.php'; } /** * Get list of genesis hooks. * * @return array $positions * @link https://my.studiopress.com/docs/hook-reference/#structural-action-hooks * * @since 1.0.0 */ private function get_genesis_hooks() { return [ esc_html__( 'Header', 'advanced-ads-genesis' ) => [ 'before_header', 'header', 'after_header', 'site_title', 'site_description', ], esc_html__( 'Wrapper', 'advanced-ads-genesis' ) => [ 'before_content_sidebar_wrap', 'after_content_sidebar_wrap', 'before_content', 'after_content', ], esc_html__( 'Sidebar', 'advanced-ads-genesis' ) => [ 'sidebar', 'before_sidebar_widget_area', 'after_sidebar_widget_area', 'sidebar_alt', 'before_sidebar_alt_widget_area', 'after_sidebar_alt_widget_area', ], esc_html__( 'Loop', 'advanced-ads-genesis' ) => [ 'before_loop', 'loop', 'after_loop', 'after_endwhile', 'loop_else', ], esc_html__( 'Content', 'advanced-ads-genesis' ) => [ 'before_entry', 'after_entry', 'entry_header', 'before_entry_content', 'entry_content', 'after_entry_content', 'entry_footer', 'before_post', 'after_post', 'before_post_title', 'post_title', 'after_post_title', 'before_post_content', 'post_content', 'after_post_content', ], esc_html__( 'Comments & Pings', 'advanced-ads-genesis' ) => [ 'before_comments', 'comments', 'after_comments', 'list_comments', 'before_pings', 'pings', 'after_pings', 'list_pings', 'before_comment', 'after_comment', 'before_comment_form', 'comment_form', 'after_comment_form', ], esc_html__( 'Footer', 'advanced-ads-genesis' ) => [ 'before_footer', 'footer', 'after_footer', ], ]; } }