PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.5.1
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.5.1
3.7.5 3.7.4 3.7.3 3.7.2 1-final 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4 3.6.3 3.6.2 3.6.1 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 All 111 releases
templately / includes / Builder / Conditions / PostByAuthor.php

PostByAuthor.php in Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! 3.5.1, at includes/Builder/Conditions/PostByAuthor.php

46 lines 966 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Templately\Builder\Conditions;
4
5 class PostByAuthor extends Condition {
6 private $post_type;
7
8 public function __construct( $args = [] ) {
9 $this->post_type = $args;
10
11 parent::__construct( $args );
12 }
13
14 public function get_priority(): int {
15 return 40;
16 }
17
18 public function get_label(): string {
19 return sprintf( __( '%s By Author', 'templately' ), $this->post_type->label );
20 }
21
22 public function get_type(): string {
23 return 'singular';
24 }
25
26 public function get_name(): string {
27 return $this->post_type->name . '_by_author';
28 }
29
30 public function check( $args = [] ): bool {
31 if ( ! isset( $args['id'] ) ) {
32 return false;
33 }
34
35 return is_singular( $this->post_type->name ) && get_post_field( 'post_author' ) === $args['id'];
36 }
37
38 protected function register_controls() {
39 $this->add_control( $this->get_name(), [
40 'field' => 'ID',
41 'query_type' => 'authors',
42 'options' => [ '' => 'All' ],
43 'query' => []
44 ] );
45 }
46 }