PluginProbe
ActivityPub / 7.8.2
ActivityPub v7.8.2
9.3.1 9.3.0 9.2.2 9.2.1 9.2.0 9.1.0 9.0.2 9.0.1 9.0.0 8.3.0 8.2.1 8.2.0 8.1.1 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.2.0 1.3.0 2.0.0 2.0.1 2.1.0 2.1.1 All 160 releases
activitypub / includes / transformer / class-term.php

class-term.php in ActivityPub 7.8.2, at includes/transformer/class-term.php

67 lines 1.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Term Transformer Class file.
4 *
5 * @package Activitypub
6 */
7
8 namespace Activitypub\Transformer;
9
10 /**
11 * Term Transformer Class.
12 */
13 class Term extends Base {
14 /**
15 * Transforms the WP_Term object to an OrderedCollection.
16 *
17 * @see \Activitypub\Activity\Base_Object
18 *
19 * @return \Activitypub\Activity\Base_Object|\WP_Error The OrderedCollection or WP_Error on failure.
20 */
21 public function to_object() {
22 $base_object = new \Activitypub\Activity\Base_Object();
23 $base_object->{'@context'} = 'https://www.w3.org/ns/activitystreams';
24 $base_object->set_type( 'OrderedCollection' );
25 $base_object->set_id( $this->get_id() );
26 $base_object->set_url( $this->get_url() );
27
28 return $base_object;
29 }
30
31 /**
32 * Get the OrderedCollection ID.
33 *
34 * @return string The OrderedCollection ID.
35 */
36 public function to_id() {
37 return $this->get_id();
38 }
39
40 /**
41 * Returns the stable ID of the Term.
42 *
43 * Uses term_id query parameter to ensure the ID remains stable
44 * even if the term slug is changed.
45 *
46 * @return string The Term's stable ID.
47 */
48 public function get_id() {
49 return \add_query_arg( 'term_id', $this->item->term_id, \home_url( '/' ) );
50 }
51
52 /**
53 * Returns the URL of the Term.
54 *
55 * @return string The Term's URL (term link).
56 */
57 public function get_url() {
58 $term_link = \get_term_link( $this->item );
59
60 if ( \is_wp_error( $term_link ) ) {
61 return '';
62 }
63
64 return \esc_url( $term_link );
65 }
66 }
67