option_name = $option_name; $this->get_settings_cb = $get_settings_cb; } /** * @return array */ private function get_settings() { $cb = $this->get_settings_cb; $settings = is_callable( $cb ) ? call_user_func( $cb ) : array(); return is_array( $settings ) ? $settings : array(); } /** * Render General section description. * * @return void */ public function render_section_general() { echo '
' . esc_html__( 'Control where and how the navigation is displayed.', 'aha-prev-next' ) . '
'; } /** * Render Enable checkbox field. * * @return void */ public function render_field_enable() { $settings = $this->get_settings(); $enabled = ! empty( $settings['enable'] ); ?> ' . esc_html__( 'Choose which post types display the navigation.', 'aha-prev-next' ) . ''; } /** * Render Enabled Post Types checkbox list field. * * @return void */ public function render_field_post_types() { $settings = $this->get_settings(); $selected = isset( $settings['enabled_post_types'] ) && is_array( $settings['enabled_post_types'] ) ? $settings['enabled_post_types'] : array( 'post', 'page' ); $allowed = function_exists( 'aha_prev_next_get_allowed_post_types' ) ? aha_prev_next_get_allowed_post_types() : array( 'post', 'page' ); $post_types = array(); foreach ( (array) $allowed as $pt ) { $obj = get_post_type_object( $pt ); if ( $obj && ! empty( $obj->label ) ) { $post_types[ $pt ] = $obj->label; } else { $post_types[ $pt ] = $pt; } } ?>' . esc_html__( 'Basic design options for the navigation cards.', 'aha-prev-next' ) . ''; } /** * Render Position dropdown field. * * @return void */ public function render_field_position() { $settings = $this->get_settings(); $position = isset( $settings['position'] ) ? (string) $settings['position'] : 'below'; $allowed = array( 'above', 'below' ); if ( ! in_array( $position, $allowed, true ) ) { $position = 'below'; } ?>
get_settings(); $woo_pos = isset( $settings['woo_position'] ) ? (string) $settings['woo_position'] : 'woocommerce_after_single_product'; $allowed = array( 'above', 'below', 'woocommerce_after_single_product', 'woocommerce_after_single_product_summary', 'woocommerce_before_single_product', 'disable', ); if ( ! in_array( $woo_pos, $allowed, true ) ) { $woo_pos = 'woocommerce_after_single_product'; } ?>