HEX
Server: Apache
System: Linux 244.240.109.208.host.secureserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: icsla (1002)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/icsla/public_html/wp-content/plugins/popup-maker/includes/functions/themes/queries.php
<?php
/**
 * Functions for Theme Queries
 *
 * @package   PopupMaker
 * @copyright Copyright (c) 2024, Code Atlantic LLC
 */

if ( ! defined( 'ABSPATH' ) ) {
	exit; // Exit if accessed directly
}

/**
 * Get a theme model instance.
 *
 * @param int $theme_id
 *
 * @return PUM_Model_Theme
 */
function pum_get_theme( $theme_id = 0 ) {
	if ( ! $theme_id ) {
		$theme_id = pum_get_theme_id();
	}

	try {
		return pum()->themes->get_item( $theme_id );
	} catch ( InvalidArgumentException $e ) {
		// Return empty object
		return new PUM_Model_Theme( $theme_id );
	}
}

/**
 * Queries themes and returns them in a specific format.
 *
 * @param array $args
 *
 * @return PUM_Model_Theme[]
 */
function pum_get_themes( $args = [] ) {
	return pum()->themes->get_items( $args );
}

/**
 * Queries themes and returns them in a specific format.
 *
 * @param array $args
 *
 * @return PUM_Model_Theme[]
 */
function pum_get_all_themes( $args = [] ) {
	$args['posts_per_page'] = -1;

	return pum_get_themes( $args );
}

/**
 * Gets a count themes with specified args.
 *
 * @param array $args
 *
 * @return int
 */
function pum_count_themes( $args = [] ) {
	$args = wp_parse_args(
		$args,
		[
			'post_status' => 'publish',
		]
	);

	return pum()->themes->count_items( $args );
}