__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
namespace Yoast\WP\SEO\Integrations;
use stdClass;
use WP_Error;
use WP_Post;
use WPSEO_Primary_Term;
use Yoast\WP\SEO\Conditionals\Primary_Category_Conditional;
/**
* Adds customizations to the front end for the primary category.
*/
class Primary_Category implements Integration_Interface {
/**
* Returns the conditionals based on which this loadable should be active.
*
* In this case only when on the frontend, the post overview, post edit or new post admin page.
*
* @return array The conditionals.
*/
public static function get_conditionals() {
return [ Primary_Category_Conditional::class ];
}
/**
* Registers a filter to change a post's primary category.
*
* @return void
*/
public function register_hooks() {
\add_filter( 'post_link_category', [ $this, 'post_link_category' ], 10, 3 );
}
/**
* Filters post_link_category to change the category to the chosen category by the user.
*
* @param stdClass $category The category that is now used for the post link.
* @param array|null $categories This parameter is not used.
* @param WP_Post|null $post The post in question.
*
* @return array|object|WP_Error|null The category we want to use for the post link.
*/
public function post_link_category( $category, $categories = null, $post = null ) {
$post = \get_post( $post );
if ( $post === null ) {
return $category;
}
$primary_category = $this->get_primary_category( $post );
if ( $primary_category !== false && $primary_category !== $category->cat_ID ) {
$category = \get_category( $primary_category );
}
return $category;
}
/**
* Get the id of the primary category.
*
* @codeCoverageIgnore It justs wraps a dependency.
*
* @param WP_Post $post The post in question.
*
* @return int Primary category id.
*/
protected function get_primary_category( $post ) {
$primary_term = new WPSEO_Primary_Term( 'category', $post->ID );
return $primary_term->get_primary_term();
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| admin | Folder | 0775 |
|
|
| alerts | Folder | 0775 |
|
|
| blocks | Folder | 0775 |
|
|
| front-end | Folder | 0775 |
|
|
| third-party | Folder | 0775 |
|
|
| watchers | Folder | 0775 |
|
|
| abstract-exclude-post-type.php | File | 1.14 KB | 0775 |
|
| academy-integration.php | File | 4.51 KB | 0775 |
|
| breadcrumbs-integration.php | File | 2.02 KB | 0775 |
|
| cleanup-integration.php | File | 9.72 KB | 0775 |
|
| estimated-reading-time.php | File | 1.08 KB | 0775 |
|
| exclude-attachment-post-type.php | File | 810 B | 0775 |
|
| exclude-oembed-cache-post-type.php | File | 822 B | 0775 |
|
| feature-flag-integration.php | File | 2.93 KB | 0775 |
|
| front-end-integration.php | File | 16.5 KB | 0775 |
|
| integration-interface.php | File | 426 B | 0775 |
|
| primary-category.php | File | 1.95 KB | 0775 |
|
| settings-integration.php | File | 32.32 KB | 0775 |
|
| support-integration.php | File | 4.48 KB | 0775 |
|
| uninstall-integration.php | File | 1006 B | 0775 |
|
| xmlrpc.php | File | 1.22 KB | 0775 |
|