Semi working conditions for the new ui

This commit is contained in:
2026-02-05 18:54:16 +01:00
parent b554263808
commit 923c1d6f9a
7 changed files with 1004 additions and 762 deletions

View File

@@ -47,6 +47,8 @@ class Partnerexpo_Core_Public {
public function searchbox_shortcode() {
wp_enqueue_style( $this->plugin_name . '-searchbox-css' );
wp_enqueue_script( $this->plugin_name . '-searchbox-js' );
wp_enqueue_style( $this->plugin_name . '-multiselect-css' );
wp_enqueue_script( $this->plugin_name . '-multiselect-js' );
ob_start();
include plugin_dir_path( __FILE__ ) . 'partials/partnerexpo-core-public-searchbox.php';
@@ -62,12 +64,44 @@ class Partnerexpo_Core_Public {
}
function query_partners(WP_REST_Request $request) {
$params = $request->get_query_params();
if (isset($params['force_tags']) && isset($params['tags']) && $params['force_tags'] === 'true') {
$params['tags'] = str_replace(',', '+', $params['tags']);
}
$args = [
'post_type' => 'pexpo_partners',
'posts_per_page' => 15,
'posts_per_page' => $params['resultsPerPage'] ?? 10,
'paged' => $params['page'] ?? 1,
'post_status' => 'publish',
's' => $params['q'] ?? '',
'pexpo_tags' => $params['tags'] ?? '',
];
switch ($params['sort'] ?? 'relevance') {
case 'date_asc':
$args['orderby'] = 'date';
$args['order'] = 'ASC';
break;
case 'date_desc':
$args['orderby'] = 'date';
$args['order'] = 'DESC';
break;
case 'title_asc':
$args['orderby'] = 'title';
$args['order'] = 'ASC';
break;
case 'title_desc':
$args['orderby'] = 'title';
$args['order'] = 'DESC';
break;
case 'relevance':
default:
// Default WordPress search sorting
break;
}
$query = new WP_Query($args);
$posts = [];
@@ -83,6 +117,7 @@ class Partnerexpo_Core_Public {
'date' => date('Y-m-d', strtotime($post->post_date)),
'tag' => $tags ?? null,
'url' => get_permalink($post),
'order' => $params['sort'] ?? 'relevance',
];
}
@@ -96,7 +131,7 @@ class Partnerexpo_Core_Public {
*
* @since 1.0.0
*/
public function enqueue_styles() {
public function register_styles() {
wp_register_style(
$this->plugin_name . '-searchbox-css',
plugin_dir_url( __FILE__ ) . 'css/searchbox.css',
@@ -104,6 +139,14 @@ class Partnerexpo_Core_Public {
$this->version,
'all'
);
wp_register_style(
$this->plugin_name . '-multiselect-css',
plugin_dir_url( __FILE__ ) . 'css/multiselect.css',
[],
$this->version,
'all'
);
}
/**
@@ -111,7 +154,7 @@ class Partnerexpo_Core_Public {
*
* @since 1.0.0
*/
public function enqueue_scripts() {
public function register_scripts() {
wp_register_script(
$this->plugin_name . '-searchbox-js',
plugin_dir_url( __FILE__ ) . 'js/searchbox.js',
@@ -119,6 +162,14 @@ class Partnerexpo_Core_Public {
$this->version,
true
);
wp_register_script(
$this->plugin_name . '-multiselect-js',
plugin_dir_url( __FILE__ ) . 'js/multiselect.js',
[],
$this->version,
true
);
}