add entry point to support for wp_comment
This commit is contained in:
parent
85eabd018a
commit
b843d841f2
1 changed files with 23 additions and 15 deletions
|
@ -7,6 +7,9 @@
|
||||||
|
|
||||||
namespace Activitypub;
|
namespace Activitypub;
|
||||||
|
|
||||||
|
use WP_Post;
|
||||||
|
use WP_Comment;
|
||||||
|
|
||||||
use function Activitypub\camel_to_snake_case;
|
use function Activitypub\camel_to_snake_case;
|
||||||
use function Activitypub\snake_to_camel_case;
|
use function Activitypub\snake_to_camel_case;
|
||||||
|
|
||||||
|
@ -235,7 +238,7 @@ class Transformers_Manager {
|
||||||
*
|
*
|
||||||
* Retrieve the registered transformers list.
|
* Retrieve the registered transformers list.
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since version_number_transformer_management_placeholder
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @param string $transformers Optional. Widget name. Default is null.
|
* @param string $transformers Optional. Widget name. Default is null.
|
||||||
|
@ -254,29 +257,34 @@ class Transformers_Manager {
|
||||||
return $this->transformers;
|
return $this->transformers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the right ActivityPub transformer.
|
* Get the right ActivityPub transformer.
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since version_number_transformer_management_placeholder
|
||||||
* @access public
|
* @access public
|
||||||
*
|
*
|
||||||
* @param WP_Post $wp_post The WordPress Post.
|
* @param WP_Post|WP_Comment $wp_post The WordPress Post/Comment.
|
||||||
*
|
*
|
||||||
* @return Transformer_Base|null Registered transformers.
|
* @return Transformer_Base|null Registered transformers.
|
||||||
*/
|
*/
|
||||||
public function get_transformer( $wp_post ) {
|
public function get_transformer( $object ) {
|
||||||
|
switch ( get_class( $object ) ) {
|
||||||
|
case 'WP_Post':
|
||||||
if ( is_null( $this->transformers ) ) {
|
if ( is_null( $this->transformers ) ) {
|
||||||
$this->init_transformers();
|
$this->init_transformers();
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( null !== $transformer ) {
|
if ( null !== $transformer ) {
|
||||||
return isset( $this->transformers[ $transformer ] ) ? $this->transformers[ $transformer ] : null;
|
return isset( $this->transformers[ $transformer ] ) ? $this->transformers[ $transformer ] : null;
|
||||||
}
|
}
|
||||||
$post_type = get_post_type( $wp_post );
|
$post_type = get_post_type( $object );
|
||||||
$transformer_mapping = \get_option( 'activitypub_transformer_mapping', array( 'post' => 'activitypub/default', 'page' => 'activitypub/default' ) ) ? \get_option( 'activitypub_transformer_mapping', array( 'post' => 'activitypub/default', 'page' => 'activitypub/default' ) ) : array();
|
$transformer_mapping = \get_option( 'activitypub_transformer_mapping', array( 'post' => 'activitypub/default', 'page' => 'activitypub/default' ) ) ? \get_option( 'activitypub_transformer_mapping', array( 'post' => 'activitypub/default', 'page' => 'activitypub/default' ) ) : array();
|
||||||
$transformer_name = $transformer_mapping[ $post_type ];
|
$transformer_name = $transformer_mapping[ $post_type ];
|
||||||
return new $this->transformers[ $transformer_name ];
|
return new $this->transformers[ $transformer_name ];
|
||||||
|
case 'WP_Comment':
|
||||||
|
return new Comment( $object );
|
||||||
|
default:
|
||||||
|
return apply_filters( 'activitypub_transformer', null, $object, get_class( $object ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue