PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
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; /** * Returns the conditionals based on which this loadable should be active. * * @return array */ 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; } /** * Initializes the integration. * * This is the place to register hooks and filters. */ 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 ); $indexable = $this->builder->build_for_id_and_type( $user_id, 'user', $indexable ); if ( $indexable ) { $indexable->object_last_modified = \max( $indexable->object_last_modified, \current_time( 'mysql' ) ); $indexable->save(); } } }
[-] primary-category-quick-edit-watcher.php
[edit]
[-] indexable-home-page-watcher.php
[edit]
[-] indexable-term-watcher.php
[edit]
[-] indexable-author-watcher.php
[edit]
[-] auto-update-watcher.php
[edit]
[-] option-titles-watcher.php
[edit]
[-] indexable-taxonomy-change-watcher.php
[edit]
[-] indexable-post-meta-watcher.php
[edit]
[-] indexable-permalink-watcher.php
[edit]
[-] indexable-post-type-archive-watcher.php
[edit]
[-] indexable-category-permalink-watcher.php
[edit]
[-] indexable-post-watcher.php
[edit]
[-] primary-term-watcher.php
[edit]
[-] option-wpseo-watcher.php
[edit]
[-] addon-update-watcher.php
[edit]
[-] indexable-system-page-watcher.php
[edit]
[-] indexable-author-archive-watcher.php
[edit]
[-] indexable-static-home-page-watcher.php
[edit]
[-] indexable-homeurl-watcher.php
[edit]
[-] indexable-ancestor-watcher.php
[edit]
[-] search-engines-discouraged-watcher.php
[edit]
[-] indexable-date-archive-watcher.php
[edit]
[+]
..
[-] indexable-post-type-change-watcher.php
[edit]