Вызов get_post_meta вместо get_permalink
для Woocommerce Add to Cart redirect.
У меня есть функция перенаправления, которая отлично работает, но я хочу вызвать URL из другого источника.
Кодэто работает:
function redirect_after_add_to_cart( $url ) {
return esc_url( get_permalink( get_page_by_title( 'Your Page Title' ) ) );
}
add_filter( 'woocommerce_add_to_cart_redirect', 'redirect_after_add_to_cart', 99 );
Я хочу заменить:
get_permalink( get_page_by_title( 'Your Page Title' )
на:
get_post_meta( get_the_ID(), '_' . 'wcj_add_to_cart_button_loop_custom_url', true )
Я попытался сделать это - заменить строку.Я перепробовал множество вариантов.
Я успешно вызвал URL-адрес из настраиваемого поля "wcj_add_to_cart_button_loop_custom_url" для страниц архивных продуктов с помощью графического интерфейса пользователя, но это для перенаправления одного продукта.
Обновление:
Существует условие, что перенаправление одного продукта Woocomerce может принимать только локальные URL-адреса.В моем случае при добавлении в корзину я хочу перенаправить на внешний веб-сайт, где будет проходить регистрация, после чего клиент будет перенаправлен обратно в корзину для завершения заказа.
Проблема заключается не в получении метаданных, а в разрешении перенаправления на внешний веб-сайт.
У меня есть плагин, который работает, "WooCommerce Add to Cart Custom Redirect", но он конфликтует сдругие необходимые плагины WordPress.
Необработанный обходной путь - создать локальный URL-адрес, использовать «Добавить в корзину локальное перенаправление» для каждой функции продукта из плагина Woocommerce Booster, а затем перенаправить созданный URL-адрес на нужную страницу.
Я бы предпочел упростить процесс, чтобы клиент не покинул страницу продукта, а "Добавить в корзину локальное перенаправление" для каждого продукта принимает внешние ссылки.