PluginProbe
Polylang / 2.7.3
Polylang v2.7.3
3.8.9 3.8.8 3.8.7 3.8.6 3.8.5 3.8.4 3.8.3 2.7 2.7.0.1 2.7.1 2.7.2 2.7.3 2.7.4 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.9 2.9.1 2.9.2 3.0 3.0.1 3.0.2 3.0.3 All 233 releases
← All changes | include/rest-request.php +45 -40 3.02.7.3 View file →
@@ -1,52 +1,31 @@
1 1 <?php
2 -/**
3 - * @package Polylang
4 - */
5 2
6 3 /**
7 - * Main Polylang class for REST API requrests, accessible from @see PLL().
4 + * REST API controller
5 + * accessible as $polylang global object
8 6 *
7 + * Properties:
8 + * options => inherited, reference to Polylang options array
9 + * model => inherited, reference to PLL_Model object
10 + * links_model => inherited, reference to PLL_Links_Model object
11 + * links => reference to PLL_Admin_Links object
12 + * static_pages => reference to PLL_Static_Pages object
13 + * filters => reference to PLL_Frontend_Filters object
14 + * filters_links => reference to PLL_Filters_Links object
15 + * posts => reference to PLL_CRUD_Posts object
16 + * terms => reference to PLL_CRUD_Terms object
17 + * sync => reference to PLL_Sync object
18 + *
9 19 * @since 2.6
10 20 */
11 21 class PLL_REST_Request extends PLL_Base {
22 + public $links, $static_pages, $posts, $terms, $filters, $filters_links, $sync;
12 23
13 24 /**
14 - * @var PLL_Filters
15 - */
16 - public $filters;
17 -
18 - /**
19 - * @var PLL_Filters_Links
20 - */
21 - public $filters_links;
22 -
23 - /**
24 - * @var PLL_Admin_Links
25 - */
26 - public $links;
27 -
28 - /**
29 - * @var PLL_Nav_Menu
30 - */
31 - public $nav_menu;
32 -
33 - /**
34 - * @var PLL_Static_Pages
35 - */
36 - public $static_pages;
37 -
38 - /**
39 - * @var PLL_Filters_Widgets_Options
40 - */
41 - public $filters_widgets;
42 -
43 - /**
44 - * Setup filters.
25 + * Setup filters
45 26 *
46 27 * @since 2.6
47 - *
48 - * @return void
49 28 */
50 29 public function init() {
51 30 parent::init();
52 31
@@ -56,17 +35,43 @@
56 35 do_action( 'pll_no_language_defined' ); // To load overridden textdomains.
57 36
58 37 $this->filters_links = new PLL_Filters_Links( $this );
59 38 $this->filters = new PLL_Filters( $this );
60 - $this->filters_widgets = new PLL_Filters_Widgets_Options( $this );
61 39
62 - // Static front page and page for posts.
40 + // Static front page and page for posts
63 41 if ( 'page' === get_option( 'show_on_front' ) ) {
64 42 $this->static_pages = new PLL_Static_Pages( $this );
65 43 }
66 44
67 45 $this->links = new PLL_Admin_Links( $this );
46 + $this->posts = new PLL_CRUD_Posts( $this );
47 + $this->terms = new PLL_CRUD_Terms( $this );
48 + $this->sync = new PLL_Sync( $this );
68 49
69 - $this->nav_menu = new PLL_Nav_Menu( $this ); // For auto added pages to menu.
50 + $this->nav_menu = new PLL_Nav_Menu( $this ); // For auto added pages to menu
51 +
52 + // Share term slugs
53 + if ( get_option( 'permalink_structure' ) && $this->options['force_lang'] && class_exists( 'PLL_Share_Term_Slug' ) ) {
54 + $this->share_term_slug = new PLL_Share_Term_Slug( $this );
55 + }
56 +
57 + // Translate slugs, only for pretty permalinks
58 + if ( get_option( 'permalink_structure' ) && class_exists( 'PLL_Translate_Slugs' ) ) {
59 + $curlang = null;
60 + $slugs_model = new PLL_Translate_Slugs_Model( $this );
61 + $this->translate_slugs = new PLL_Translate_Slugs( $slugs_model, $curlang );
62 + }
63 +
64 + if ( class_exists( 'PLL_Sync_Post_Model' ) ) {
65 + $this->sync_post_model = new PLL_Sync_Post_Model( $this );
66 + }
67 +
68 + if ( class_exists( 'PLL_Sync_Post_REST' ) ) {
69 + $this->sync_post = new PLL_Sync_Post_REST( $this );
70 + }
71 +
72 + if ( class_exists( 'PLL_Duplicate_REST' ) ) {
73 + $this->duplicate_rest = new PLL_Duplicate_REST();
74 + }
70 75 }
71 76 }
72 77 }