File: /var/www/zaklada/wp-content/plugins/wordpress-seo/src/actions/indexables/indexable-head-action.php
<?php
namespace Yoast\WP\SEO\Actions\Indexables;
use Yoast\WP\SEO\Surfaces\Meta_Surface;
/**
* Get head action for indexables.
*/
class Indexable_Head_Action {
/**
* The meta surface.
*
* @var Meta_Surface
*/
private $meta_surface;
/**
* Indexable_Indexation_Route constructor.
*
* @param Meta_Surface $meta_surface The meta surface.
*/
public function __construct( Meta_Surface $meta_surface ) {
$this->meta_surface = $meta_surface;
}
/**
* Retrieves the head for a url.
*
* @param string $url The url to get the head for.
*
* @return object Object with head and status properties.
*/
public function for_url( $url ) {
$meta = $this->meta_surface->for_url( $url );
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for a post.
*
* @param int $id The id.
*
* @return object Object with head and status properties.
*/
public function for_post( $id ) {
$meta = $this->meta_surface->for_post( $id );
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for a term.
*
* @param int $id The id.
*
* @return object Object with head and status properties.
*/
public function for_term( $id ) {
$meta = $this->meta_surface->for_term( $id );
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for an author.
*
* @param int $id The id.
*
* @return object Object with head and status properties.
*/
public function for_author( $id ) {
$meta = $this->meta_surface->for_author( $id );
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for a post type archive.
*
* @param int $type The id.
*
* @return object Object with head and status properties.
*/
public function for_post_type_archive( $type ) {
$meta = $this->meta_surface->for_post_type_archive( $type );
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for the posts page.
*
* @return object Object with head and status properties.
*/
public function for_posts_page() {
$meta = $this->meta_surface->for_posts_page();
if ( $meta === false ) {
return $this->for_404();
}
return (object) [
'head' => $meta->get_head(),
'status' => 200,
];
}
/**
* Retrieves the head for the 404 page. Always sets the status to 404.
*
* @return object Object with head and status properties.
*/
public function for_404() {
$meta = $this->meta_surface->for_404();
return (object) [
'head' => $meta->get_head(),
'status' => 404,
];
}
}