ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-12 15:18:15
Editing: keyword-integration.php
Cancel
Save Changes
<?php namespace Yoast\WP\SEO\Premium\Integrations\Admin; use WP_Query; use WPSEO_Meta; use Yoast\WP\SEO\Conditionals\Admin_Conditional; use Yoast\WP\SEO\Integrations\Integration_Interface; /** * Keyword_Integration class */ class Keyword_Integration implements Integration_Interface { /** * {@inheritDoc} */ public static function get_conditionals() { return [ Admin_Conditional::class ]; } /** * {@inheritDoc} */ public function register_hooks() { \add_filter( 'wpseo_posts_for_focus_keyword', [ $this, 'add_posts_for_focus_keyword' ], 10, 3 ); \add_filter( 'wpseo_posts_for_related_keywords', [ $this, 'add_posts_for_related_keywords' ], 10, 2 ); } /** * Enhances the array of posts that share their focus keywords with the post's related keywords by adding posts' ids with the same related keywords. * * @param array $usage The array of posts' ids that share their focus keywords with the post. * @param int $post_id The id of the post we're finding the usage of related keywords for. * * @return array The filtered array of posts' ids. */ public function add_posts_for_related_keywords( $usage, $post_id ) { $additional_keywords = \json_decode( WPSEO_Meta::get_value( 'focuskeywords', $post_id ), true ); if ( empty( $additional_keywords ) ) { return $usage; } foreach ( $additional_keywords as $additional_keyword ) { if ( isset( $additional_keyword['keyword'] ) ) { $keyword = $additional_keyword['keyword']; $usage[ $keyword ] = WPSEO_Meta::keyword_usage( $keyword, $post_id ); } } return $usage; } /** * Enhances the array of posts that share their focus keywords with the post's focus keywords by adding posts' ids with the same related keywords. * * @param array $post_ids The array of posts' ids that share their related keywords with the post. * @param string $keyword The keyword to search for. * @param int $post_id The id of the post the keyword is associated to. * * @return array The filtered array of posts' ids. */ public function add_posts_for_focus_keyword( $post_ids, $keyword, $post_id ) { $query = [ 'meta_query' => [ [ 'key' => '_yoast_wpseo_focuskeywords', 'value' => \sprintf( '"keyword":"%s"', $keyword ), 'compare' => 'LIKE', ], ], 'post__not_in' => [ $post_id ], 'fields' => 'ids', 'post_type' => 'any', /* * We only need to return zero, one or two results: * - Zero: keyword hasn't been used before * - One: Keyword has been used once before * - Two or more: Keyword has been used twice or more before */ 'posts_per_page' => 2, ]; $get_posts = new WP_Query( $query ); return \array_merge( $post_ids, $get_posts->posts ); } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete