PluginProbe ʕ •ᴥ•ʔ
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid / trunk
The Post Grid – Shortcode, Gutenberg Blocks and Elementor Addon for Post Grid vtrunk
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 2 years ago AIIntegration.php 3 months ago ElImport.php 3 months ago FrontEndFilterV1.php 2 years ago GetBuilderData.php 2 years ago GetCategories.php 1 year ago GetPostsV1.php 10 months ago GetTermObject.php 1 year ago GetTickerPostsV1.php 1 year ago ImageSizeV1.php 2 years ago RestApi.php 3 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