| Server IP : 62.171.151.215 / Your IP : 216.73.217.53 Web Server : nginx/1.18.0 System : Linux vmi3128365 5.15.0-176-generic #186-Ubuntu SMP Fri Mar 13 11:01:42 UTC 2026 x86_64 User : alex ( 1000) PHP Version : 8.4.18 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /tmp/plugin-wordpress-seo/wordpress-seo/src/repositories/ |
Upload File : |
<?php
namespace Yoast\WP\SEO\Repositories;
use Yoast\WP\Lib\Model;
use Yoast\WP\Lib\ORM;
use Yoast\WP\SEO\Models\Primary_Term;
/**
* Class Primary_Term_Repository.
*/
class Primary_Term_Repository {
/**
* Starts a query for this repository.
*
* @return ORM
*/
public function query() {
return Model::of_type( 'Primary_Term' );
}
/**
* Retrieves a primary term by a post ID and taxonomy.
*
* @param int $post_id The post the indexable is based upon.
* @param string $taxonomy The taxonomy the indexable belongs to.
* @param bool $auto_create Optional. Creates an indexable if it does not exist yet.
*
* @return Primary_Term|null Instance of a primary term.
*/
public function find_by_post_id_and_taxonomy( $post_id, $taxonomy, $auto_create = true ) {
/**
* Instance of the primary term.
*
* @var Primary_Term $primary_term_indexable
*/
$primary_term_indexable = $this->query()
->where( 'post_id', $post_id )
->where( 'taxonomy', $taxonomy )
->find_one();
if ( $auto_create && ! $primary_term_indexable ) {
$primary_term_indexable = $this->query()->create();
}
return $primary_term_indexable;
}
}