Skip to content

Commit 5bba6cb

Browse files
authored
Fix Reader URL generation for WPCOM environment (#2250)
1 parent b3f936d commit 5bba6cb

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

integration/class-jetpack.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,11 @@ public static function add_reader_link( $actions, $item ) {
9696

9797
$feed = \get_post_meta( $item['id'], '_activitypub_actor_feed', true );
9898

99-
if ( isset( $feed['feed_id'] ) ) {
99+
// Generate Reader URL based on environment.
100+
if ( \defined( 'IS_WPCOM' ) && IS_WPCOM ) {
101+
if ( empty( $feed['feed_id'] ) ) {
102+
return $actions; // No feed_id available on WPCOM.
103+
}
100104
$url = sprintf( 'https://wordpress.com/reader/feed/%d', (int) $feed['feed_id'] );
101105
} else {
102106
$url = sprintf( 'https://wordpress.com/reader/feeds/lookup/%s', rawurlencode( $item['identifier'] ) );

tests/integration/class-test-jetpack.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ public function reader_link_data() {
323323
*
324324
* @dataProvider reader_link_data
325325
* @covers ::add_reader_link
326+
* @runInSeparateProcess
327+
* @preserveGlobalState disabled
326328
*
327329
* @param array $item The following item.
328330
* @param int|false $feed_id The feed ID or false.
@@ -332,6 +334,12 @@ public function reader_link_data() {
332334
public function test_add_reader_link( $item, $feed_id, $expected_url, $should_have_reader_link ) {
333335
$original_actions = array( 'edit' => '<a href="#">Edit</a>' );
334336

337+
// Set up WPCOM environment if expecting WPCOM-style URL.
338+
$is_wpcom_test = $expected_url && strpos( $expected_url, '/reader/feed/' ) !== false;
339+
if ( $is_wpcom_test && ! defined( 'IS_WPCOM' ) ) {
340+
define( 'IS_WPCOM', true );
341+
}
342+
335343
// Mock the feed ID meta if provided.
336344
if ( false !== $feed_id ) {
337345
add_filter(

0 commit comments

Comments
 (0)