*/ class Wordpress { /** * Get the page id. * * @return int */ public static function id() { // can't use facades to access properties unfortunately! return query()->post->ID ?? null; } /** * Check if the current page is a singular item (eg. a news post). * * @param array|string $types * * @return bool */ public static function singular($types = '') { return query()->singular($types); } /** * Check if the current page is a category page. * * @param array|string $categories categories to test for * * @return bool */ public static function category($categories = '') { return query()->category($categories); } /** * Check if the current page is an archive page. * * @param string|array|null $types check if the archive page is for this type * * @return bool */ public static function archive($types = null) { return $types === null || empty($types) ? query()->archive() : query()->postTypeArchive($types); } /** * Check if the current page is an author page. * * @param int|array|User $users * * @return bool */ public static function author($users = []) { if (!is_array($users)) { $users = [$users]; } foreach ($users as $key => $user) { if ($user instanceof User) { $users[$key] = $user->ID; } } return query()->author($users); } /** * Check if we are on a multisite, and optionally check the multisite we are on. * * @param null|int|array $id id (or ids) to check against the site, or null if you want to just check * if we are actually on a multisite * * @return bool */ public static function multisite($id = null) { if (is_array($id)) { foreach ($id as $i) { if (static::multisite($i)) { return true; } } } return $id === null ? is_multisite() : ($id === static::getSiteId()); } /** * Get a Wordpress option from the database. * * @param string $name name of the option to get * @param mixed $default value to return if we don't have a value for the option. * * @return mixed */ public static function option($name, $default = false) { return get_option($name, $default); } /** * Get the current multisite id. * * @return int */ public static function getSiteId() { return get_current_blog_id(); } /** * Get the current site that the user is currently browsing. * * @return \WP_Network */ public static function site() { return \get_current_site(); } /** * Get the current Wordpress version, includes Wordpress' version.php if it has to. * * @return mixed */ public static function version() { if (!isset($GLOBALS['wp_version'])) { require_once ABSPATH . WPINC . '/version.php'; } return $GLOBALS['wp_version']; } /** * Get the current logged in user. Generally, you shouldn't be using this * function and should instead be using auth()->user() from Laravel to get * the current logged in Wordpress user. * * Use of WP_User is deprecated, however this method will not be removed. * * @deprecated use auth()->user() instead. * * @return \WP_User */ public static function currentUser() { return wp_get_current_user(); } }