PluginProbe ʕ •ᴥ•ʔ
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / 7.8.8
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid v7.8.8
7.9.3 7.9.2 trunk 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.2.0 4.2.1 4.2.2 4.2.3 5.0.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 6.0.0 7.0.0 7.0.1 7.0.2 7.1.0 7.2.0 7.2.1 7.2.10 7.2.11 7.2.2 7.2.3 7.2.4 7.2.5 7.2.6 7.2.7 7.2.8 7.2.9 7.3.0 7.3.1 7.4.0 7.4.1 7.4.2 7.4.3 7.5.0 7.6.0 7.6.1 7.7.0 7.7.1 7.7.10 7.7.11 7.7.12 7.7.13 7.7.14 7.7.15 7.7.16 7.7.17 7.7.18 7.7.19 7.7.2 7.7.20 7.7.21 7.7.22 7.7.3 7.7.4 7.7.5 7.7.6 7.7.7 7.7.8 7.7.9 7.8.0 7.8.1 7.8.2 7.8.3 7.8.4 7.8.5 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1
the-post-grid / app / Controllers / Api / GetCategories.php
the-post-grid / app / Controllers / Api Last commit date
ACFV1.php 8 months ago ElImport.php 8 months ago FrontEndFilterV1.php 8 months ago GetBuilderData.php 8 months ago GetCategories.php 8 months ago GetPostsV1.php 8 months ago GetTermObject.php 8 months ago GetTickerPostsV1.php 8 months ago ImageSizeV1.php 8 months ago RestApi.php 8 months ago
GetCategories.php
71 lines
1 <?php
2
3 namespace RT\ThePostGrid\Controllers\Api;
4
5 class GetCategories {
6
7 public function __construct() {
8 add_action( 'rest_api_init', [ $this, 'register_post_route' ] );
9 }
10
11 public function register_post_route() {
12 register_rest_route(
13 'rttpg/v1',
14 'categories',
15 [
16 'methods' => 'POST',
17 'callback' => [ $this, 'get_all_posts' ],
18 'permission_callback' => function() {
19 return current_user_can( 'edit_posts' );
20 },
21 ]
22 );
23 }
24
25 public function get_all_posts( $data ) {
26 $send_data = [
27 'categories' => [],
28 ];
29
30 $category = $data['category_lists'];
31 $count_cat = count( $category );
32
33 if ( is_array( $category ) && $count_cat > 0 ) {
34 $categories = wp_list_pluck( $category, 'value' );
35 } else {
36 $categories = get_terms(
37 [
38 'taxonomy' => 'category',
39 'orderby' => 'count',
40 'order' => 'DESC',
41 'hide_empty' => 0,
42 'fields' => 'ids',
43 'number' => 5,
44 ]
45 );
46 }
47
48 if ( ! empty( $categories ) ) {
49 foreach ( $categories as $cat ) {
50 $cat_info = get_term( $cat );
51 $cat_thumb = get_term_meta( $cat, rtTpgPro()->category_thumb_meta_key, true );
52 $send_data['categories'][] = [
53 'id' => esc_html( $cat ),
54 'name' => esc_html( $cat_info->name ),
55 'image' => wp_get_attachment_image_src( $cat_thumb, $data['image_size'] )[0],
56 'count' => $cat_info->count,
57 'link' => get_term_link( $cat_info ),
58
59 ];
60 }
61 } else {
62 $send_data['message'] = 'No category found';
63 }
64
65 wp_reset_postdata();
66
67 return rest_ensure_response( $send_data );
68 }
69
70 }
71