PluginProbe
Depicter — Popup & Slider Builder / 1.6.2
Depicter — Popup & Slider Builder v1.6.2
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / vendor / htmlburger / wpemerge / src / Routing / Conditions / PostIdCondition.php

PostIdCondition.php in Depicter — Popup & Slider Builder 1.6.2, at vendor/htmlburger/wpemerge/src/Routing/Conditions/PostIdCondition.php

58 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package WPEmerge
4 * @author Atanas Angelov <[email protected]>
5 * @copyright 2017-2019 Atanas Angelov
6 * @license https://www.gnu.org/licenses/gpl-2.0.html GPL-2.0
7 * @link https://wpemerge.com/
8 */
9
10 namespace WPEmerge\Routing\Conditions;
11
12 use WPEmerge\Requests\RequestInterface;
13
14 /**
15 * Check against the current post's id.
16 *
17 * @codeCoverageIgnore
18 */
19 class PostIdCondition implements ConditionInterface, UrlableInterface {
20 /**
21 * Post id to check against
22 *
23 * @var integer
24 */
25 protected $post_id = 0;
26
27 /**
28 * Constructor
29 *
30 * @codeCoverageIgnore
31 * @param integer $post_id
32 */
33 public function __construct( $post_id ) {
34 $this->post_id = (int) $post_id;
35 }
36
37 /**
38 * {@inheritDoc}
39 */
40 public function isSatisfied( RequestInterface $request ) {
41 return ( is_singular() && $this->post_id === (int) get_the_ID() );
42 }
43
44 /**
45 * {@inheritDoc}
46 */
47 public function getArguments( RequestInterface $request ) {
48 return ['post_id' => $this->post_id];
49 }
50
51 /**
52 * {@inheritDoc}
53 */
54 public function toUrl( $arguments = [] ) {
55 return get_permalink( $this->post_id );
56 }
57 }
58