get_primary_category( $post ); if ( false !== $primary_category && $primary_category !== $category->cat_ID ) { $category = $this->get_category( $primary_category ); } return $category; } /** * Get the id of the primary category. * * @param WP_Post $post The post in question. * * @return int Primary category id. */ protected function get_primary_category( $post = null ) { $post = get_post( $post ); if ( $post === null ) { return false; } $primary_term = new WPSEO_Primary_Term( 'category', $post->ID ); return $primary_term->get_primary_term(); } /** * Wrapper for get category to make mocking easier. * * @param int $primary_category ID of primary category. * * @return array|null|object|WP_Error */ protected function get_category( $primary_category ) { $category = get_category( $primary_category ); return $category; } }