$category ] ], self::WPJM_COM_PRODUCTS_API_BASE_URL . '/search' ) ); if ( ! is_wp_error( $raw_add_ons ) ) { $add_ons = json_decode( wp_remote_retrieve_body( $raw_add_ons ) )->products; } return $add_ons; } /** * Get categories for the add-ons screen * * @since 1.30.0 * * @return array of objects. */ private function get_categories() { $add_on_categories = get_transient( 'jm_wpjmcom_add_on_categories' ); if ( false === ( $add_on_categories ) ) { $raw_categories = wp_safe_remote_get( self::WPJM_COM_PRODUCTS_API_BASE_URL . '/categories' ); if ( ! is_wp_error( $raw_categories ) ) { $add_on_categories = json_decode( wp_remote_retrieve_body( $raw_categories ) ); if ( $add_on_categories ) { set_transient( 'jm_wpjmcom_add_on_categories', $add_on_categories, WEEK_IN_SECONDS ); } } } return apply_filters( 'job_manager_add_on_categories', $add_on_categories ); } /** * Get messages for the add-ons screen * * @since 1.30.0 * * @return array of objects. */ private function get_messages() { $add_on_messages = get_transient( 'jm_wpjmcom_add_on_messages' ); if ( false === ( $add_on_messages ) ) { $raw_messages = wp_safe_remote_get( add_query_arg( [ 'version' => JOB_MANAGER_VERSION, 'lang' => get_locale(), ], self::WPJM_COM_PRODUCTS_API_BASE_URL . '/messages' ) ); if ( ! is_wp_error( $raw_messages ) ) { $add_on_messages = json_decode( wp_remote_retrieve_body( $raw_messages ) ); if ( $add_on_messages ) { set_transient( 'jm_wpjmcom_add_on_messages', $add_on_messages, WEEK_IN_SECONDS ); } } } return apply_filters( 'job_manager_add_on_messages', $add_on_messages ); } /** * Handles output of the reports page in admin. */ public function output() { ?>
get_messages(); $categories = $this->get_categories(); $add_ons = $this->get_add_ons( $category ); include_once dirname( __FILE__ ) . '/views/html-admin-page-addons.php'; } ?>