@freeman0204

Как правильно получить массив id постов для избранного?

Цель получить массы айди постов которые были добавлены в избранное и вывести этот массив любым удобным способов, главное получить этот массив с айди постов.
Ниже я поулчаю айди товара которой добавлю в избранное перевожу в строку и добавляю в куки. Дальше я проверяю есть ли уже куки и мне нужно добавить текущий куки к новому как я понимаю перевести это все в массив и записать нове куки. Как это можно реализовать на текущем примере?

add_action('wp_ajax_favorites', 'favorites_function');
add_action('wp_ajax_nopriv_favorites', 'favorites_function');
function favorites_function()
{
    $post_id = $_POST['post_id'];
    $arr_post = json_encode([$post_id]);
    setcookie('favorites', $arr_post, time() + (86400* 5), '/');
    if ($_COOKIE['favorites'] != '') {
        $already_coo = json_decode($_COOKIE['favorites']);
        $add = $already_coo . $arr_post;
        $new_coo = json_encode($add);
        setcookie('favorites_new', $new_coo, time() + (86400* 5), '/');
    }
    wp_die();
}
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
deniscopro
@deniscopro Куратор тега WordPress
WordPress-разработчик, denisco.pro
Код не тестировал
add_action( 'wp_ajax_favorites', 'favorites_function' );
add_action( 'wp_ajax_nopriv_favorites', 'favorites_function' );

function favorites_function() {
	$post_id = $_POST['post_id'];

	$favorites = array();
	if ( isset( $_COOKIE['favorites'] ) ) {
		$favorites = explode( ',', $_COOKIE['favorites'] );
	}

	$favorites[] = $post_id;
	setcookie( 'favorites', implode( ',', $favorites ), time() + (DAY_IN_SECONDS * 5), '/' );

	wp_die();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы