diff --git a/README.md b/README.md
index b8643fe..e43fea6 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
# ActivityPub #
-**Contributors:** [pfefferle](https://profiles.wordpress.org/pfefferle/), [mediaformat](https://profiles.wordpress.org/mediaformat/), [akirk](https://profiles.wordpress.org/akirk/), [automattic](https://profiles.wordpress.org/automattic/)
+**Contributors:** [automattic](https://profiles.wordpress.org/automattic/), [pfefferle](https://profiles.wordpress.org/pfefferle/), [mediaformat](https://profiles.wordpress.org/mediaformat/), [mattwiebe](https://profiles.wordpress.org/mattwiebe/), [akirk](https://profiles.wordpress.org/akirk/), [jeherve](https://profiles.wordpress.org/jeherve/), [nuriapena](https://profiles.wordpress.org/nuriapena/)
**Tags:** OStatus, fediverse, activitypub, activitystream
**Requires at least:** 4.7
**Tested up to:** 6.2
diff --git a/includes/class-shortcodes.php b/includes/class-shortcodes.php
index 144b7d9..c21d74d 100644
--- a/includes/class-shortcodes.php
+++ b/includes/class-shortcodes.php
@@ -30,13 +30,13 @@ class Shortcodes {
* @return string The post tags as hashtags.
*/
public static function hashtags( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $tags = \get_the_tags( $post->ID );
+ $tags = \get_the_tags( $item->ID );
if ( ! $tags ) {
return '';
@@ -65,13 +65,13 @@ class Shortcodes {
* @return string The post title.
*/
public static function title( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- return \wp_strip_all_tags( \get_the_title( $post->ID ), true );
+ return \wp_strip_all_tags( \get_the_title( $item->ID ), true );
}
@@ -85,9 +85,9 @@ class Shortcodes {
* @return string The post excerpt.
*/
public static function excerpt( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
@@ -103,11 +103,11 @@ class Shortcodes {
$excerpt_length = ACTIVITYPUB_EXCERPT_LENGTH;
}
- $excerpt = \get_post_field( 'post_excerpt', $post );
+ $excerpt = \get_post_field( 'post_excerpt', $item );
if ( '' === $excerpt ) {
- $content = \get_post_field( 'post_content', $post );
+ $content = \get_post_field( 'post_content', $item );
// An empty string will make wp_trim_excerpt do stuff we do not want.
if ( '' !== $content ) {
@@ -188,22 +188,22 @@ class Shortcodes {
* @return string The post content.
*/
public static function content( $atts, $content, $tag ) {
- // prevent inception
- remove_shortcode( 'ap_content' );
+ $item = get_item();
- $post = get_item();
-
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
+ // prevent inception
+ remove_shortcode( 'ap_content' );
+
$atts = shortcode_atts(
array( 'apply_filters' => 'yes' ),
$atts,
$tag
);
- $content = \get_post_field( 'post_content', $post );
+ $content = \get_post_field( 'post_content', $item );
if ( 'yes' === $atts['apply_filters'] ) {
$content = \apply_filters( 'the_content', $content );
@@ -233,9 +233,9 @@ class Shortcodes {
* @return string The post permalink.
*/
public static function permalink( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
@@ -248,12 +248,12 @@ class Shortcodes {
);
if ( 'url' === $atts['type'] ) {
- return \esc_url( \get_permalink( $post->ID ) );
+ return \esc_url( \get_permalink( $item->ID ) );
}
return \sprintf(
'%1$s',
- \esc_url( \get_permalink( $post->ID ) )
+ \esc_url( \get_permalink( $item->ID ) )
);
}
@@ -267,9 +267,9 @@ class Shortcodes {
* @return string The post shortlink.
*/
public static function shortlink( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
@@ -282,12 +282,12 @@ class Shortcodes {
);
if ( 'url' === $atts['type'] ) {
- return \esc_url( \wp_get_shortlink( $post->ID ) );
+ return \esc_url( \wp_get_shortlink( $item->ID ) );
}
return \sprintf(
'%1$s',
- \esc_url( \wp_get_shortlink( $post->ID ) )
+ \esc_url( \wp_get_shortlink( $item->ID ) )
);
}
@@ -301,9 +301,9 @@ class Shortcodes {
* @return string
*/
public static function image( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
@@ -325,7 +325,7 @@ class Shortcodes {
$size = $atts['type'];
}
- $image = \get_the_post_thumbnail_url( $post->ID, $size );
+ $image = \get_the_post_thumbnail_url( $item->ID, $size );
if ( ! $image ) {
return '';
@@ -344,13 +344,13 @@ class Shortcodes {
* @return string The post categories as hashtags.
*/
public static function hashcats( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $categories = \get_the_category( $post->ID );
+ $categories = \get_the_category( $item->ID );
if ( ! $categories ) {
return '';
@@ -379,13 +379,13 @@ class Shortcodes {
* @return string The author name.
*/
public static function author( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $name = \get_the_author_meta( 'display_name', $post->post_author );
+ $name = \get_the_author_meta( 'display_name', $item->post_author );
if ( ! $name ) {
return '';
@@ -404,13 +404,13 @@ class Shortcodes {
* @return string The author URL.
*/
public static function authorurl( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $url = \get_the_author_meta( 'user_url', $post->post_author );
+ $url = \get_the_author_meta( 'user_url', $item->post_author );
if ( ! $url ) {
return '';
@@ -468,13 +468,13 @@ class Shortcodes {
* @return string The post date.
*/
public static function date( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $datetime = \get_post_datetime( $post );
+ $datetime = \get_post_datetime( $item );
$dateformat = \get_option( 'date_format' );
$timeformat = \get_option( 'time_format' );
@@ -497,13 +497,13 @@ class Shortcodes {
* @return string The post time.
*/
public static function time( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $datetime = \get_post_datetime( $post );
+ $datetime = \get_post_datetime( $item );
$dateformat = \get_option( 'date_format' );
$timeformat = \get_option( 'time_format' );
@@ -526,13 +526,13 @@ class Shortcodes {
* @return string The post date/time.
*/
public static function datetime( $atts, $content, $tag ) {
- $post = get_item();
+ $item = get_item();
- if ( ! $post ) {
+ if ( ! $item ) {
return '';
}
- $datetime = \get_post_datetime( $post );
+ $datetime = \get_post_datetime( $item );
$dateformat = \get_option( 'date_format' );
$timeformat = \get_option( 'time_format' );
diff --git a/includes/functions.php b/includes/functions.php
index b213b9d..1a91670 100644
--- a/includes/functions.php
+++ b/includes/functions.php
@@ -367,11 +367,7 @@ function get_item() {
return null;
}
- if ( ! \in_array( $post->post_type, \get_post_types_by_support( 'activitypub' ), true ) ) {
- return null;
- }
-
- if ( 'publish' !== $post->post_status ) {
+ if ( 'publish' !== \get_post_status( $post ) ) {
return null;
}
@@ -379,5 +375,9 @@ function get_item() {
return null;
}
+ if ( ! \in_array( \get_post_type( $post ), \get_post_types_by_support( 'activitypub' ), true ) ) {
+ return null;
+ }
+
return $post;
}
diff --git a/readme.txt b/readme.txt
index 8d1bc99..f90ad68 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,5 +1,5 @@
=== ActivityPub ===
-Contributors: pfefferle, mediaformat, akirk, automattic
+Contributors: automattic, pfefferle, mediaformat, mattwiebe, akirk, jeherve, nuriapena
Tags: OStatus, fediverse, activitypub, activitystream
Requires at least: 4.7
Tested up to: 6.2
diff --git a/tests/test-class-activitypub-shortcodes.php b/tests/test-class-activitypub-shortcodes.php
index 5ba69d9..8637a61 100644
--- a/tests/test-class-activitypub-shortcodes.php
+++ b/tests/test-class-activitypub-shortcodes.php
@@ -39,13 +39,12 @@ class Test_Activitypub_Shortcodes extends WP_UnitTestCase {
$post->post_date_gmt = current_time( 'mysql', 1 );
$post->post_title = 'Some title or other';
$post->post_content = 'hallo';
- $post->post_status = 'publish';
$post->comment_status = 'closed';
$post->ping_status = 'closed';
$post->post_name = 'fake-page-' . rand( 1, 99999 ); // append random number to avoid clash
$post->post_type = 'page';
- $post->post_password = 'abc';
$post->filter = 'raw'; // important!
+ $post->post_password = 'abc';
$content = '[ap_content]';