/**
* WooCommerce Account Functions
*
* Functions for account specific things.
*
* @package WooCommerce\Functions
* @version 2.6.0
*/
defined( 'ABSPATH' ) || exit;
/**
* Returns the url to the lost password endpoint url.
*
* @param string $default_url Default lost password URL.
* @return string
*/
function wc_lostpassword_url( $default_url = '' ) {
// Avoid loading too early.
if ( ! did_action( 'init' ) ) {
return $default_url;
}
// Don't redirect to the woocommerce endpoint on global network admin lost passwords.
if ( is_multisite() && isset( $_GET['redirect_to'] ) && false !== strpos( wp_unslash( $_GET['redirect_to'] ), network_admin_url() ) ) { // WPCS: input var ok, sanitization ok, CSRF ok.
return $default_url;
}
$wc_account_page_url = wc_get_page_permalink( 'myaccount' );
$wc_account_page_exists = wc_get_page_id( 'myaccount' ) > 0;
$lost_password_endpoint = get_option( 'woocommerce_myaccount_lost_password_endpoint' );
if ( $wc_account_page_exists && ! empty( $lost_password_endpoint ) ) {
return wc_get_endpoint_url( $lost_password_endpoint, '', $wc_account_page_url );
} else {
return $default_url;
}
}
add_filter( 'lostpassword_url', 'wc_lostpassword_url', 10, 1 );
/**
* Get the link to the edit account details page.
*
* @return string
*/
function wc_customer_edit_account_url() {
$edit_account_url = wc_get_endpoint_url( 'edit-account', '', wc_get_page_permalink( 'myaccount' ) );
return apply_filters( 'woocommerce_customer_edit_account_url', $edit_account_url );
}
/**
* Get the edit address slug translation.
*
* @param string $id Address ID.
* @param bool $flip Flip the array to make it possible to retrieve the values from both sides.
*
* @return string Address slug i18n.
*/
function wc_edit_address_i18n( $id, $flip = false ) {
$slugs = apply_filters(
'woocommerce_edit_address_slugs',
array(
'billing' => sanitize_title( _x( 'billing', 'edit-address-slug', 'woocommerce' ) ),
'shipping' => sanitize_title( _x( 'shipping', 'edit-address-slug', 'woocommerce' ) ),
)
);
if ( $flip ) {
$slugs = array_flip( $slugs );
}
if ( ! isset( $slugs[ $id ] ) ) {
return $id;
}
return $slugs[ $id ];
}
/**
* Get My Account menu items.
*
* @since 2.6.0
* @return array
*/
function wc_get_account_menu_items() {
$endpoints = array(
'orders' => get_option( 'woocommerce_myaccount_orders_endpoint', 'orders' ),
'downloads' => get_option( 'woocommerce_myaccount_downloads_endpoint', 'downloads' ),
'edit-address' => get_option( 'woocommerce_myaccount_edit_address_endpoint', 'edit-address' ),
'payment-methods' => get_option( 'woocommerce_myaccount_payment_methods_endpoint', 'payment-methods' ),
'edit-account' => get_option( 'woocommerce_myaccount_edit_account_endpoint', 'edit-account' ),
'customer-logout' => get_option( 'woocommerce_logout_endpoint', 'customer-logout' ),
);
$items = array(
'dashboard' => __( 'Dashboard', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' ),
'downloads' => __( 'Downloads', 'woocommerce' ),
'edit-address' => _n( 'Address', 'Addresses', ( 1 + (int) wc_shipping_enabled() ), 'woocommerce' ),
'payment-methods' => __( 'Payment methods', 'woocommerce' ),
'edit-account' => __( 'Account details', 'woocommerce' ),
'customer-logout' => __( 'Logout', 'woocommerce' ),
);
// Remove missing endpoints.
foreach ( $endpoints as $endpoint_id => $endpoint ) {
if ( empty( $endpoint ) ) {
unset( $items[ $endpoint_id ] );
}
}
// Check if payment gateways support add new payment methods.
if ( isset( $items['payment-methods'] ) ) {
$support_payment_methods = false;
foreach ( WC()->payment_gateways->get_available_payment_gateways() as $gateway ) {
if ( $gateway->supports( 'add_payment_method' ) || $gateway->supports( 'tokenization' ) ) {
$support_payment_methods = true;
break;
}
}
if ( ! $support_payment_methods ) {
unset( $items['payment-methods'] );
}
}
return apply_filters( 'woocommerce_account_menu_items', $items, $endpoints );
}
/**
* Get account menu item classes.
*
* @since 2.6.0
* @param string $endpoint Endpoint.
* @return string
*/
function wc_get_account_menu_item_classes( $endpoint ) {
global $wp;
$classes = array(
'woocommerce-MyAccount-navigation-link',
'woocommerce-MyAccount-navigation-link--' . $endpoint,
);
// Set current item class.
$current = isset( $wp->query_vars[ $endpoint ] );
if ( 'dashboard' === $endpoint && ( isset( $wp->query_vars['page'] ) || empty( $wp->query_vars ) ) ) {
$current = true; // Dashboard is not an endpoint, so needs a custom check.
} elseif ( 'orders' === $endpoint && isset( $wp->query_vars['view-order'] ) ) {
$current = true; // When looking at individual order, highlight Orders list item (to signify where in the menu the user currently is).
} elseif ( 'payment-methods' === $endpoint && isset( $wp->query_vars['add-payment-method'] ) ) {
$current = true;
}
if ( $current ) {
$classes[] = 'is-active';
}
$classes = apply_filters( 'woocommerce_account_menu_item_classes', $classes, $endpoint );
return implode( ' ', array_map( 'sanitize_html_class', $classes ) );
}
/**
* Get account endpoint URL.
*
* @since 2.6.0
* @param string $endpoint Endpoint.
* @return string
*/
function wc_get_account_endpoint_url( $endpoint ) {
if ( 'dashboard' === $endpoint ) {
return wc_get_page_permalink( 'myaccount' );
}
if ( 'customer-logout' === $endpoint ) {
return wc_logout_url();
}
return wc_get_endpoint_url( $endpoint, '', wc_get_page_permalink( 'myaccount' ) );
}
/**
* Get My Account > Orders columns.
*
* @since 2.6.0
* @return array
*/
function wc_get_account_orders_columns() {
/**
* Filters the array of My Account > Orders columns.
*
* @since 2.6.0
* @param array $columns Array of column labels keyed by column IDs.
*/
return apply_filters(
'woocommerce_account_orders_columns',
array(
'order-number' => __( 'Order', 'woocommerce' ),
'order-date' => __( 'Date', 'woocommerce' ),
'order-status' => __( 'Status', 'woocommerce' ),
'order-total' => __( 'Total', 'woocommerce' ),
'order-actions' => __( 'Actions', 'woocommerce' ),
)
);
}
/**
* Get My Account > Downloads columns.
*
* @since 2.6.0
* @return array
*/
function wc_get_account_downloads_columns() {
$columns = apply_filters(
'woocommerce_account_downloads_columns',
array(
'download-product' => __( 'Product', 'woocommerce' ),
'download-remaining' => __( 'Downloads remaining', 'woocommerce' ),
'download-expires' => __( 'Expires', 'woocommerce' ),
'download-file' => __( 'Download', 'woocommerce' ),
'download-actions' => ' ',
)
);
if ( ! has_filter( 'woocommerce_account_download_actions' ) ) {
unset( $columns['download-actions'] );
}
return $columns;
}
/**
* Get My Account > Payment methods columns.
*
* @since 2.6.0
* @return array
*/
function wc_get_account_payment_methods_columns() {
return apply_filters(
'woocommerce_account_payment_methods_columns',
array(
'method' => __( 'Method', 'woocommerce' ),
'expires' => __( 'Expires', 'woocommerce' ),
'actions' => ' ',
)
);
}
/**
* Get My Account > Payment methods types
*
* @since 2.6.0
* @return array
*/
function wc_get_account_payment_methods_types() {
return apply_filters(
'woocommerce_payment_methods_types',
array(
'cc' => __( 'Credit card', 'woocommerce' ),
'echeck' => __( 'eCheck', 'woocommerce' ),
)
);
}
/**
* Get account orders actions.
*
* @since 3.2.0
* @param int|WC_Order $order Order instance or ID.
* @return array
*/
function wc_get_account_orders_actions( $order ) {
if ( ! is_object( $order ) ) {
$order_id = absint( $order );
$order = wc_get_order( $order_id );
}
$actions = array(
'pay' => array(
'url' => $order->get_checkout_payment_url(),
'name' => __( 'Pay', 'woocommerce' ),
),
'view' => array(
'url' => $order->get_view_order_url(),
'name' => __( 'View', 'woocommerce' ),
),
'cancel' => array(
'url' => $order->get_cancel_order_url( wc_get_page_permalink( 'myaccount' ) ),
'name' => __( 'Cancel', 'woocommerce' ),
),
);
if ( ! $order->needs_payment() ) {
unset( $actions['pay'] );
}
if ( ! in_array( $order->get_status(), apply_filters( 'woocommerce_valid_order_statuses_for_cancel', array( 'pending', 'failed' ), $order ), true ) ) {
unset( $actions['cancel'] );
}
return apply_filters( 'woocommerce_my_account_my_orders_actions', $actions, $order );
}
/**
* Get account formatted address.
*
* @since 3.2.0
* @param string $address_type Address type.
* Accepts: 'billing' or 'shipping'.
* Default to 'billing'.
* @param int $customer_id Customer ID.
* Default to 0.
* @return string
*/
function wc_get_account_formatted_address( $address_type = 'billing', $customer_id = 0 ) {
$getter = "get_{$address_type}";
$address = array();
if ( 0 === $customer_id ) {
$customer_id = get_current_user_id();
}
$customer = new WC_Customer( $customer_id );
if ( is_callable( array( $customer, $getter ) ) ) {
$address = $customer->$getter();
unset( $address['email'], $address['tel'] );
}
return WC()->countries->get_formatted_address( apply_filters( 'woocommerce_my_account_my_address_formatted_address', $address, $customer->get_id(), $address_type ) );
}
/**
* Returns an array of a user's saved payments list for output on the account tab.
*
* @since 2.6
* @param array $list List of payment methods passed from wc_get_customer_saved_methods_list().
* @param int $customer_id The customer to fetch payment methods for.
* @return array Filtered list of customers payment methods.
*/
function wc_get_account_saved_payment_methods_list( $list, $customer_id ) {
$payment_tokens = WC_Payment_Tokens::get_customer_tokens( $customer_id );
foreach ( $payment_tokens as $payment_token ) {
$delete_url = wc_get_endpoint_url( 'delete-payment-method', $payment_token->get_id() );
$delete_url = wp_nonce_url( $delete_url, 'delete-payment-method-' . $payment_token->get_id() );
$set_default_url = wc_get_endpoint_url( 'set-default-payment-method', $payment_token->get_id() );
$set_default_url = wp_nonce_url( $set_default_url, 'set-default-payment-method-' . $payment_token->get_id() );
$type = strtolower( $payment_token->get_type() );
$list[ $type ][] = array(
'method' => array(
'gateway' => $payment_token->get_gateway_id(),
),
'expires' => esc_html__( 'N/A', 'woocommerce' ),
'is_default' => $payment_token->is_default(),
'actions' => array(
'delete' => array(
'url' => $delete_url,
'name' => esc_html__( 'Delete', 'woocommerce' ),
),
),
);
$key = key( array_slice( $list[ $type ], -1, 1, true ) );
if ( ! $payment_token->is_default() ) {
$list[ $type ][ $key ]['actions']['default'] = array(
'url' => $set_default_url,
'name' => esc_html__( 'Make default', 'woocommerce' ),
);
}
$list[ $type ][ $key ] = apply_filters( 'woocommerce_payment_methods_list_item', $list[ $type ][ $key ], $payment_token );
}
return $list;
}
add_filter( 'woocommerce_saved_payment_methods_list', 'wc_get_account_saved_payment_methods_list', 10, 2 );
/**
* Controls the output for credit cards on the my account page.
*
* @since 2.6
* @param array $item Individual list item from woocommerce_saved_payment_methods_list.
* @param WC_Payment_Token $payment_token The payment token associated with this method entry.
* @return array Filtered item.
*/
function wc_get_account_saved_payment_methods_list_item_cc( $item, $payment_token ) {
if ( 'cc' !== strtolower( $payment_token->get_type() ) ) {
return $item;
}
$card_type = $payment_token->get_card_type();
$item['method']['last4'] = $payment_token->get_last4();
$item['method']['brand'] = ( ! empty( $card_type ) ? ucfirst( $card_type ) : esc_html__( 'Credit card', 'woocommerce' ) );
$item['expires'] = $payment_token->get_expiry_month() . '/' . substr( $payment_token->get_expiry_year(), -2 );
return $item;
}
add_filter( 'woocommerce_payment_methods_list_item', 'wc_get_account_saved_payment_methods_list_item_cc', 10, 2 );
/**
* Controls the output for eChecks on the my account page.
*
* @since 2.6
* @param array $item Individual list item from woocommerce_saved_payment_methods_list.
* @param WC_Payment_Token $payment_token The payment token associated with this method entry.
* @return array Filtered item.
*/
function wc_get_account_saved_payment_methods_list_item_echeck( $item, $payment_token ) {
if ( 'echeck' !== strtolower( $payment_token->get_type() ) ) {
return $item;
}
$item['method']['last4'] = $payment_token->get_last4();
$item['method']['brand'] = esc_html__( 'eCheck', 'woocommerce' );
return $item;
}
add_filter( 'woocommerce_payment_methods_list_item', 'wc_get_account_saved_payment_methods_list_item_echeck', 10, 2 );
import { ArrowRightIcon } from '@heroicons/react/24/outline';
import { __ } from '@wordpress/i18n';
import { getSupportLink } from '../utils/functions';
import Button from '../components/button';
const ErrorModel = ( {
error,
websiteInfo,
tryAgainCallback,
renderHeader,
} ) => {
return (
{ renderHeader ? (
renderHeader
) : (
{ __(
'Oops.. Something went wrong',
'ai-builder'
) }{ ' ' }
😕
{ __( 'What happened?', 'ai-builder' ) }
{ __(
'Importing site content has failed. The import process was interrupted.',
'ai-builder'
) }
{ __(
'Additional technical information from console:',
'ai-builder'
) }
{ error.primaryText }
{ error.errorText }
) }
{
tryAgainCallback();
} }
variant="primary"
size="l"
className="w-full min-h-[48px] mt-3"
>
{ __( 'Click here to try again', 'ai-builder' ) }
{
const content = new FormData();
content.append(
'action',
'astra-sites-change-page-builder'
);
content.append(
'_ajax_nonce',
aiBuilderVars._ajax_nonce
);
content.append( 'page_builder', 'gutenberg' );
fetch( ajaxurl, {
method: 'post',
body: content,
} );
window.location.href = aiBuilderVars.dashboard_url;
} }
variant="white"
size="l"
className="w-full min-h-[48px] mt-3"
>
{ __( 'Exit to Dashboard', 'ai-builder' ) }
{ __( 'Contact Support', 'ai-builder' ) }
);
};
export default ErrorModel;
Public – World Live Solutions
Skip to content
Die historische Entwicklung des Glücksspiels Von den Anfängen bis heute Die Anfänge des Glücksspiels Glücksspiel hat eine lange Geschichte, die bis in die Antike zurückreicht. Bereits im alten China wurden Spiele mit Würfeln gespielt, und in Ägypten fanden sich Spielsteine, die auf das Glück basierten. Diese frühen Formen des Glücksspiels dienten nicht nur der Unterhaltung, … Read more
Qumar mədəniyyətinin fərqli perspektivləri ənənələr və dəyişimlər Qumar mədəniyyətinin tarixi kökləri Qumar mədəniyyəti, minilliklər boyunca insan cəmiyyətinin ayrılmaz bir parçası olmuşdur. Hər bir mədəniyyətin özünəməxsus qumar formaları vardır. Məsələn, qədim Misirdə oyunlar, ibadət və sosial fəaliyyətlərin bir hissəsi olaraq təşkil edilirdi. Eyni zamanda, Yunan və Roma dövrlərində də qumar oyunları məşhur idi, bu zaman oyunlar … Read more
Jak zacząć swoją przygodę z kasynem Poradnik dla początkujących Wybór odpowiedniego kasyna online Rozpoczynając swoją przygodę z kasynem, kluczowym krokiem jest wybór odpowiedniej platformy. Warto zwrócić uwagę na renomę kasyna, jego licencję oraz oferowane gry. Upewnij się, że kasyno, które wybierasz, ma pozytywne opinie wśród graczy oraz obsługuje szybkie i bezpieczne metody płatności. Dodatkowo, korzystając … Read more
Gambling haqida to'liq ko'rinish mostbet bilan qulaylik va xavf haqida Gamblingning asosiy tushunchalari Gambling, yoki qimor o’yinlari, insonlarning pul yoki boshqa qiymatlarni tikish orqali o’zaro raqobatlashadigan faoliyatlar majmuasidir. Bu jarayon ko’plab odamlar uchun qiziqarli va pul topish imkoniyatini taqdim etadi. Lekin, qimor o’yinlari shu bilan birga xavfli ham bo’lishi mumkin. O’zini nazorat qilish va pulni … Read more
The journey of gambling How katana spin casino shaped its historical evolution The Origins of Gambling The history of gambling dates back thousands of years, tracing its roots to ancient civilizations. Evidence suggests that early societies engaged in various forms of gaming, often as a way to decide disputes or as a means of entertainment. … Read more
Ansvarligt spil Tips til at spille sikkert og undgå tænkefælder Forståelse af ansvarligt spil Ansvarligt spil handler om at spille på en måde, der er underholdende og sikker. Det er vigtigt at have en klar forståelse af, hvordan spil fungerer, og at være opmærksom på de risici, der kan følge med. En grundlæggende del af … Read more
strategies to win at gambling Κατανόηση των παιχνιδιών Η πρώτη στρατηγική για να κερδίσετε στο τζόγο είναι η καλή γνώση των παιχνιδιών που επιλέγετε να παίξετε. Κάθε παιχνίδι έχει τους δικούς του κανόνες, στρατηγικές και ποσοστά απόδοσης. Είναι σημαντικό να κατανοήσετε πώς λειτουργούν οι κανόνες κάθε παιχνιδιού προτού το δοκιμάσετε. Είτε πρόκειται για κουλοχέρηδες είτε … Read more
Ultimate Guide to Gambling from fun88 You Can't Miss ทำความเข้าใจพื้นฐานของการพนันออนไลน์ การพนันออนไลน์เป็นกิจกรรมที่ได้รับความนิยมอย่างแพร่หลาย โดยเฉพาะในยุคดิจิทัลที่ทุกคนสามารถเข้าถึงได้ง่ายขึ้น การเลือกเล่นในแพลตฟอร์มที่เชื่อถือได้ เช่น fun88 เข้าระบบ จะช่วยให้ผู้เล่นรู้สึกมั่นใจและปลอดภัยมากขึ้น โดยที่ผู้เล่นควรศึกษาเงื่อนไขและข้อกำหนดในการเล่นอย่างละเอียดก่อนเริ่มเดิมพัน นอกจากนี้ การเข้าใจประเภทของเกมที่มีให้เลือกเล่นก็เป็นสิ่งสำคัญ เช่น เกมคาสิโนสด สล็อตออนไลน์ หรือเดิมพันกีฬา ซึ่งแต่ละประเภทมีวิธีการเล่นและกลยุทธ์ที่แตกต่างกันออกไป การเลือกเกมที่เหมาะสมกับตัวเองจะช่วยเพิ่มโอกาสในการชนะมากยิ่งขึ้น กลยุทธ์ในการเล่นพนันออนไลน์ การมีแผนการเล่นที่ดีเป็นสิ่งสำคัญสำหรับการพนันออนไลน์ ผู้เล่นควรกำหนดงบประมาณในการเล่นและยึดมั่นตามนั้น รวมถึงการเลือกเวลาในการเล่นที่เหมาะสม เพื่อไม่ให้เกิดความเครียดหรือความกดดัน ซึ่งจะส่งผลต่อการตัดสินใจในการเดิมพัน นอกจากนี้ ผู้เล่นยังควรศึกษาและใช้กลยุทธ์ที่เหมาะสมกับแต่ละเกม เช่น การเลือกใช้เทคนิคการเดินเงินในเกมพนันต่าง ๆ หรือการใช้สูตรเฉพาะสำหรับเกมสล็อต โดยกลยุทธ์เหล่านี้สามารถช่วยเพิ่มโอกาสในการชนะได้อย่างมีประสิทธิภาพ ความสำคัญของการจัดการอารมณ์ การเล่นพนันไม่ใช่แค่การเสี่ยงโชค แต่ยังเกี่ยวข้องกับการจัดการอารมณ์ของผู้เล่นด้วย การรู้จักควบคุมอารมณ์เมื่อเล่นเสียหรือตื่นเต้นเมื่อเล่นได้เป็นสิ่งที่จำเป็น ผู้เล่นควรมีสติและไม่ให้ความรู้สึกชั่วขณะเข้ามามีอิทธิพลต่อการตัดสินใจ การตั้งเป้าหมายที่ชัดเจนและทำตามแผนการเล่นที่วางไว้จะช่วยให้ผู้เล่นมีวินัยในการเล่นมากขึ้น รวมถึงสามารถหลีกเลี่ยงความเสียหายจากการเล่นพนันที่มากเกินไป ซึ่งทำให้ผู้เล่นสามารถสนุกกับการเดิมพันได้อย่างยั่งยืน การเลือกเว็บไซต์พนันที่น่าเชื่อถือ การเลือกเว็บไซต์พนันที่ปลอดภัยและน่าเชื่อถือเป็นปัจจัยสำคัญในการเล่นพนันออนไลน์ เว็บไซต์ที่ดีจะมีระบบการเงินที่มั่นคง การสนับสนุนลูกค้าที่มีคุณภาพ และมีเกมที่หลากหลายเพื่อตอบสนองความต้องการของผู้เล่น fun88 ถือเป็นหนึ่งในเว็บไซต์ที่ได้รับความนิยม เนื่องจากมีการรับรองจากหน่วยงานที่เชื่อถือได้ … Read more
Başlanğıc üçün kazino oyunlarına dair bələdçi Kazino Oyunlarının Tarixi Kazino oyunları tarixən çox qədim dövrlərə gedib çıxır. İlk dəfə Qədim Misir və Çində oynanılan mərc oyunları, insanın əyləncə və risk axtarışının bir parçası olub. Qədim dövrlərdə insanların qələbə qazanmaq üçün müxtəlif strategiyalar tətbiq etməsi bu oyunların populyarlığını artırıb. Bu baxımdan, müasir dövrdə insanlar 1win indir … Read more
A fascinante trajetória dos jogos de azar na história da humanidade com baxterbet online casino A origem dos jogos de azar A história dos jogos de azar remonta a milhares de anos, com evidências de práticas de apostas encontradas em civilizações antigas, como a Mesopotâmia e o Egito. Os dados, que são uma das formas … Read more
This website https://worldlivesol.com/ uses its own and third-party cookies that are installed on your computer to perform analysis of use and measurement of the Web to improve our services and facilitate your navigation. You can accept cookies by clicking on the "Accept" button or configure or reject their use, obtaining more information by clicking HERE
Accept
Close GDPR Cookie Settings
Privacy Overview
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.