PluginProbe
Polylang / 2.7
Polylang v2.7
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
polylang / include / rest-request.php

rest-request.php in Polylang 2.7, at include/rest-request.php

78 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * REST API controller
5 * accessible as $polylang global object
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 *
19 * @since 2.6
20 */
21 class PLL_REST_Request extends PLL_Base {
22 public $links, $static_pages, $posts, $terms, $filters, $filters_links, $sync;
23
24 /**
25 * Setup filters
26 *
27 * @since 2.6
28 */
29 public function init() {
30 parent::init();
31
32 if ( $this->model->get_languages_list() ) {
33
34 /** This action is documented in include/class-polylang.php */
35 do_action( 'pll_no_language_defined' ); // To load overridden textdomains.
36
37 $this->filters_links = new PLL_Filters_Links( $this );
38 $this->filters = new PLL_Filters( $this );
39
40 // Static front page and page for posts
41 if ( 'page' === get_option( 'show_on_front' ) ) {
42 $this->static_pages = new PLL_Static_Pages( $this );
43 }
44
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 );
49
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 }
75 }
76 }
77 }
78