WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!
функция не описана

Yoast\WP\SEO\Actions\Wincher

Wincher_Keyphrases_Action::collect_all_keyphrases() protected Yoast 1.0

Collects all keyphrases known to Yoast.

{} Это метод класса: Wincher_Keyphrases_Action{}

Хуков нет.

Возвращает

Массив.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->collect_all_keyphrases();

Код Wincher_Keyphrases_Action::collect_all_keyphrases() Yoast 17.9

protected function collect_all_keyphrases() {
	global $wpdb;

	// Collect primary keyphrases first.
	$keyphrases = \array_column(
		$this->indexable_repository
			->query()
			->select( 'primary_focus_keyword' )
			->where_not_null( 'primary_focus_keyword' )
			->where( 'object_type', 'post' )
			->where_not_equal( 'post_status', 'trash' )
			->distinct()
			->find_array(),
		'primary_focus_keyword'
	);

	if ( YoastSEO()->helpers->product->is_premium() ) {
		// Collect all related keyphrases.
		$meta_key = WPSEO_Meta::$meta_prefix . 'focuskeywords';

		$query = "
			SELECT meta_value
			FROM $wpdb->postmeta
			JOIN $wpdb->posts ON {$wpdb->posts}.id = {$wpdb->postmeta}.post_id
			WHERE meta_key = '$meta_key' AND post_status != 'trash'
		";

		// phpcs:ignore -- ignoring since it's complaining about not using prepare when it's perfectly safe here.
		$results = $wpdb->get_results( $query );

		if ( $results ) {
			foreach ( $results as $row ) {
				$additional_keywords = \json_decode( $row->meta_value, true );
				if ( $additional_keywords !== null ) {
					$additional_keywords = \array_column( $additional_keywords, 'keyword' );
					$keyphrases          = \array_merge( $keyphrases, $additional_keywords );
				}
			}
		}
	}

	// Filter out empty entries.
	return \array_filter( $keyphrases );
}