wppaste
WordPress

WP_REST_Posts_Controller::get_available_actions( WP_Post $post, WP_REST_Request $request ): array

Since
4.9.8
Source
wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php:2290
Gets the link relations available for the post and current user.

Parameters

$postWP_Post
Post object.
$requestWP_REST_Request
Request object.

Return

array
List of link relations.

Uses · 6

Used by · 1

Source

	protected function get_available_actions( $post, $request ) { 		if ( 'edit' !== $request['context'] ) {			return array();		} 		$rels = array(); 		$post_type = get_post_type_object( $post->post_type ); 		if ( 'attachment' !== $this->post_type && current_user_can( $post_type->cap->publish_posts ) ) {			$rels[] = 'https://api.w.org/action-publish';		} 		if ( current_user_can( 'unfiltered_html' ) ) {			$rels[] = 'https://api.w.org/action-unfiltered-html';		} 		if ( 'post' === $post_type->name ) {			if ( current_user_can( $post_type->cap->edit_others_posts ) && current_user_can( $post_type->cap->publish_posts ) ) {				$rels[] = 'https://api.w.org/action-sticky';			}		} 		if ( post_type_supports( $post_type->name, 'author' ) ) {			if ( current_user_can( $post_type->cap->edit_others_posts ) ) {				$rels[] = 'https://api.w.org/action-assign-author';			}		} 		$taxonomies = wp_list_filter( get_object_taxonomies( $this->post_type, 'objects' ), array( 'show_in_rest' => true ) ); 		foreach ( $taxonomies as $tax ) {			$tax_base   = ! empty( $tax->rest_base ) ? $tax->rest_base : $tax->name;			$create_cap = is_taxonomy_hierarchical( $tax->name ) ? $tax->cap->edit_terms : $tax->cap->assign_terms; 			if ( current_user_can( $create_cap ) ) {				$rels[] = 'https://api.w.org/action-create-' . $tax_base;			} 			if ( current_user_can( $tax->cap->assign_terms ) ) {				$rels[] = 'https://api.w.org/action-assign-' . $tax_base;			}		} 		return $rels;	}

History

Introduced in 4.9.8. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.