config()->get( 'predefined_pages' ); return array_key_exists( $slug, $predefined_pages ); } /** * @param int $post_id * * @return bool */ function um_post_is_predefined_page( $post_id ) { $predefined_pages = UM()->config()->get( 'predefined_pages' ); $predefined_pages = array_keys( $predefined_pages ); if ( empty( $predefined_pages ) ) { return false; } foreach ( $predefined_pages as $slug ) { if ( um_is_predefined_page( $slug, $post_id ) ) { return true; } } return false; } /** * @param string $slug * * @return false|int */ function um_get_predefined_page_id( $slug ) { if ( ! um_predefined_page_slug_exists( $slug ) ) { return false; } $option_key = UM()->options()->get_predefined_page_option_key( $slug ); return apply_filters( 'um_get_predefined_page_id', UM()->options()->get( $option_key ), $slug ); } /** * * @param string $slug * @param null|int|\WP_Post $post * * @return bool */ function um_is_predefined_page( $slug, $post = null ) { // handle $post inside, just we need make $post as \WP_Post. Otherwise something is wrong and return false if ( ! $post ) { global $post; if ( empty( $post ) ) { return false; } } else { if ( is_numeric( $post ) ) { $post = get_post( $post ); if ( empty( $post ) ) { return false; } } } if ( empty( $post->ID ) ) { return false; } return um_get_predefined_page_id( $slug ) === $post->ID; } /** * Get predefined page URL * * @param string $slug * * @return false|string */ function um_get_predefined_page_url( $slug ) { $url = false; if ( $page_id = um_get_predefined_page_id( $slug ) ) { $url = get_permalink( $page_id ); } return $url; }