%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/1857783/root/var/www/cwg/wp-content/plugins/wp-grid-builder/frontend/functions/
Upload File :
Create Path :
Current File : //proc/1857783/root/var/www/cwg/wp-content/plugins/wp-grid-builder/frontend/functions/sources.php

<?php
/**
 * Source functions
 *
 * @package   WP Grid Builder
 * @author    Loïc Blascos
 * @copyright 2019-2021 Loïc Blascos
 */

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

/**
 * Register sources
 *
 * @since 1.0.0
 *
 * @param array $source Holds registered sources.
 * @return array Holds registered sources.
 */
function wpgb_register_sources( $source = [] ) {

	return array_merge(
		[
			'post_type' => 'WP_Grid_Builder\FrontEnd\Sources\Posts',
			'user'      => 'WP_Grid_Builder\FrontEnd\Sources\Users',
			'term'      => 'WP_Grid_Builder\FrontEnd\Sources\Terms',
			'card'      => 'WP_Grid_Builder\FrontEnd\Sources\Cards',
		],
		$source
	);

}
add_filter( 'wp_grid_builder/sources', 'wpgb_register_sources' );

/**
 * Prefilter main query for template mode
 * Happens before WP_Grid_Builder\FrontEnd\Filter filters the query to store unmodified query.
 *
 * @since 1.0.0
 *
 * @param object $query The WP_Query instance.
 */
function wpgb_prefilter_query( $query ) {

	if ( ! wpgb_is_main_query( $query ) ) {
		return;
	}

	wpgb_set_main_query_vars( $query );
	$query->query_vars['wp_grid_builder'] = true;

}
add_action( 'pre_get_posts', 'wpgb_prefilter_query', PHP_INT_MAX - 10 );

/**
 * Check if it's the main query
 *
 * @since 1.2.1
 *
 * @param object $query Holds query object.
 * @return boolean
 */
function wpgb_is_main_query( $query ) {

	if ( empty( $query ) || is_admin() || ( wp_doing_ajax() && ! wpgb_doing_ajax() ) ) {
		return false;
	}

	if ( ! method_exists( $query, 'is_main_query' ) ) {
		return false;
	}

	$is_main_query = $query->is_main_query() && ! $query->is_singular;
	$is_wpgb_query = $query->get( 'wp_grid_builder', false );
	$is_feed_query = $query->is_feed;

	return $is_main_query && ! $is_wpgb_query && ! $is_feed_query;

}

/**
 * Store main query vars
 *
 * @since 1.2.1
 *
 * @param object $query Holds Main query object.
 * @return array
 */
function wpgb_main_query_vars( $query = [] ) {

	static $query_vars = [];

	if ( empty( $query_vars ) && ! empty( $query->query_vars ) ) {

		// To prevent issue on index blog page.
		if ( is_home() && ! isset( $query->query_vars['post_type'] ) ) {
			$query->query_vars['post_type'] = '';
		}

		$query_vars = $query->query_vars;

	}

	return $query_vars;

}

/**
 * Get main query vars
 *
 * @since 1.2.1
 *
 * @return array
 */
function wpgb_get_main_query_vars() {

	return wpgb_main_query_vars();

}

/**
 * Set main query vars
 *
 * @since 1.2.1
 *
 * @param object $query Main query.
 */
function wpgb_set_main_query_vars( $query ) {

	wpgb_main_query_vars( $query );

}

/**
 * Query grid or template content
 *
 * @since 1.5.1
 *
 * @param array $atts Grid/Template attributes.
 */
function wpgb_query_content( $atts = [] ) {

	if ( ! empty( $atts['is_template'] ) ) {
		wpgb_render_template( $atts, 'Query' );
	} else {
		wpgb_render_grid( $atts, 'Query' );
	}
}

/**
 * Refresh grid or template content
 *
 * @since 1.5.1
 *
 * @param array $atts Grid/Template attributes.
 * @return string
 */
function wpgb_refresh_content( $atts = [] ) {

	$content = '';

	if ( ! empty( $atts['is_template'] ) ) {
		$content = wpgb_refresh_template( $atts );
	} else {
		$content = wpgb_refresh_grid( $atts );
	}

	return $content;

}

Zerion Mini Shell 1.0