PATH:
home
/
letacommog
/
ldqm1
/
wp-content
/
plugins
/
wordpress-seo
/
src
/
integrations
/
watchers
<?php namespace Yoast\WP\SEO\Integrations\Watchers; use Yoast\WP\SEO\Builders\Indexable_Builder; use Yoast\WP\SEO\Conditionals\Migrations_Conditional; use Yoast\WP\SEO\Integrations\Integration_Interface; use Yoast\WP\SEO\Repositories\Indexable_Repository; /** * Watches an Author to save the meta information to an Indexable when updated. */ class Indexable_Author_Watcher implements Integration_Interface { /** * The indexable repository. * * @var Indexable_Repository */ protected $repository; /** * The indexable builder. * * @var Indexable_Builder */ protected $builder; /** * @inheritDoc */ public static function get_conditionals() { return [ Migrations_Conditional::class ]; } /** * Indexable_Author_Watcher constructor. * * @param Indexable_Repository $repository The repository to use. * @param Indexable_Builder $builder The builder to use. */ public function __construct( Indexable_Repository $repository, Indexable_Builder $builder ) { $this->repository = $repository; $this->builder = $builder; } /** * @inheritDoc */ public function register_hooks() { \add_action( 'user_register', [ $this, 'build_indexable' ], \PHP_INT_MAX ); \add_action( 'profile_update', [ $this, 'build_indexable' ], \PHP_INT_MAX ); \add_action( 'deleted_user', [ $this, 'delete_indexable' ] ); } /** * Deletes user meta. * * @param int $user_id User ID to delete the metadata of. * * @return void */ public function delete_indexable( $user_id ) { $indexable = $this->repository->find_by_id_and_type( $user_id, 'user', false ); if ( ! $indexable ) { return; } $indexable->delete(); } /** * Saves user meta. * * @param int $user_id User ID. * * @return void */ public function build_indexable( $user_id ) { $indexable = $this->repository->find_by_id_and_type( $user_id, 'user', false ); $this->builder->build_for_id_and_type( $user_id, 'user', $indexable ); } }
[+]
..
[-] indexable-home-page-watcher.php
[edit]
[-] option-wpseo-watcher.php
[edit]
[-] indexable-post-type-archive-watcher.php
[edit]
[-] indexable-permalink-watcher.php
[edit]
[-] indexable-author-watcher.php
[edit]
[-] indexable-system-page-watcher.php
[edit]
[-] indexable-static-home-page-watcher.php
[edit]
[-] indexable-homeurl-watcher.php
[edit]
[-] option-titles-watcher.php
[edit]
[-] indexable-category-permalink-watcher.php
[edit]
[-] primary-term-watcher.php
[edit]
[-] indexable-post-meta-watcher.php
[edit]
[-] indexable-date-archive-watcher.php
[edit]
[-] indexable-ancestor-watcher.php
[edit]
[-] indexable-post-watcher.php
[edit]
[-] indexable-term-watcher.php
[edit]