PluginProbe ʕ •ᴥ•ʔ
Advanced Access Manager – Access Governance for WordPress / trunk
Advanced Access Manager – Access Governance for WordPress vtrunk
6.8.4 6.8.5 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13 6.9.14 6.9.15 6.9.16 6.9.17 6.9.18 6.9.19 6.9.2 6.9.20 6.9.21 6.9.22 6.9.23 6.9.24 6.9.25 6.9.26 6.9.27 6.9.28 6.9.29 6.9.3 6.9.30 6.9.31 6.9.32 6.9.33 6.9.34 6.9.35 6.9.36 6.9.37 6.9.38 6.9.39 6.9.4 6.9.41 6.9.42 6.9.43 6.9.44 6.9.45 6.9.46 6.9.47 6.9.48 6.9.49 6.9.5 6.9.51 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.0-alpha.6 7.0.0-alpha.7 7.0.0-beta.1 7.0.0-rc1 7.0.0-rc2 7.0.0-rc3 7.0.1 7.0.10 7.0.11 7.0.2 7.0.3 7.0.4 7.0.5 7.0.6 7.0.7 7.0.8 7.0.9 7.1.0 7.1.1 trunk 3.0 4.0 4.0.1 4.1 4.2 4.3 4.4 4.4.1 4.5 4.6 4.6.1 4.6.2 4.7 4.7.1 4.7.2 4.7.5 4.7.6 4.8 4.8.1 4.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.5.1 4.9.5.2 5.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1 5.1.1 5.10 5.11 5.2 5.2.1 5.2.5 5.2.6 5.2.7 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.4 5.4.1 5.4.2 5.4.3 5.4.3.1 5.4.3.2 5.5 5.5.1 5.5.2 5.6 5.6.1 5.6.1.1 5.7 5.7.1 5.7.2 5.7.3 5.8 5.8.1 5.8.2 5.8.3 5.9 5.9.1 5.9.1.1 5.9.2 5.9.2.1 5.9.3 5.9.4 5.9.5 5.9.6 5.9.6.1 5.9.6.2 5.9.6.3 5.9.7 5.9.7.1 5.9.7.2 5.9.7.3 5.9.8 5.9.8.1 5.9.9 5.9.9.1 6.0.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.1.0 6.1.1 6.2.0 6.2.1 6.2.2 6.3.0 6.3.1 6.3.2 6.3.3 6.4.0 6.4.1 6.4.2 6.4.3 6.5.0 6.5.1 6.5.2 6.5.3 6.5.4 6.6.0 6.6.1 6.6.2 6.6.3 6.6.4 6.7.0 6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 6.7.6 6.7.7 6.7.8 6.7.9 6.8.0 6.8.1 6.8.2 6.8.3
advanced-access-manager / application / Service / Shortcode / Handler / PostList.php
advanced-access-manager / application / Service / Shortcode / Handler Last commit date
Content.php 1 year ago LoginForm.php 1 year ago LoginRedirect.php 1 year ago PostList.php 1 year ago
PostList.php
83 lines
1 <?php
2
3 /**
4 * ======================================================================
5 * LICENSE: This file is subject to the terms and conditions defined in *
6 * file 'license.txt', which is part of this source code package. *
7 * ======================================================================
8 */
9
10 /**
11 * AAM shortcode strategy for post list
12 *
13 * @package AAM
14 * @version 6.9.35
15 */
16 class AAM_Service_Shortcode_Handler_PostList
17 {
18
19 /**
20 * Shortcode arguments
21 *
22 * @var array
23 *
24 * @access protected
25 * @version 6.9.35
26 */
27 protected $args;
28
29 /**
30 * Initialize shortcode decorator
31 *
32 * Expecting attributes in $args are the list of arguments that WP_Query receives
33 *
34 * @param array $args
35 *
36 * @return void
37 *
38 * @access public
39 * @version 6.9.35
40 */
41 public function __construct($args, $content = null)
42 {
43 // Determine correct default status & post type
44 $post_type = isset($args['post_type']) ? $args['post_type'] : 'post';
45 $status = $post_type === 'attachment' ? 'inherit' : 'publish';
46
47 $this->args = array_merge(
48 [
49 'post_type' => 'post',
50 'nopaging' => true,
51 'post_status' => $status,
52 'template' => 'template-parts/content'
53 ],
54 is_array($args) ? $args : []
55 );
56 }
57
58 /**
59 * Process the shortcode
60 *
61 * @return string
62 *
63 * @access public
64 * @version 6.9.35
65 */
66 public function run()
67 {
68 // Making sure that post type is public
69 $post_type = get_post_type_object($this->args['post_type']);
70
71 if (is_a($post_type, 'WP_Post_Type') && $post_type->public) {
72 $result = AAM_Backend_View::loadPartial('post-list', array_merge(
73 $this->args,
74 array('id' => uniqid())
75 ));
76 } else {
77 $result = null;
78 }
79
80 return $result;
81 }
82
83 }