Думал сделать 4 колонки
но из-за разного кол-ва блоков в колонках будут проблемы с адаптивностью
Flex сюда тоже так себе подходит
CSS-Grid не предлагать ;)
class article {
public function __construct($pdo)
$this->pdo = $pdo;
}
public function get_all_db() {
$sql = "SELECT `articles_id`, `title`, `keywords`, `description` FROM `articles`";
return $this->pdo->query($sql)->fetchAll();
}
public function get_one_db($id){
$sql = "SELECT `articles_id`, `title`, `keywords`, `description` FROM `articles` WHERE articles_id = ?";
$stmt = $this->pdo->prepare($sql);
$stmt->execute([$id]);
return $stmt->fetch();
}
}
getElementsByClassName
возвращает коллекцию элементов, а вы пытаетесь работать с ней как с единственным элементом. document.querySelector('.woof_select_product_cat')
спасёт отца русской демократии. Можно ли передавать по сети OpenSSL encrypt/decrype?
// псевдокод
x = 0 for messages from client to server
// or
x = 8 for those from server to client.
data = данные для шифрования или расшифрования
auth_key = ключ аутенификации 256 байт (зашить в клиент и сервер или получать при обмене ключами при помощи DH)
msg_key = substr(SHA1(data), 0, 16)
sha1_a = SHA1 (msg_key + substr (auth_key, x, 32));
sha1_b = SHA1 (substr (auth_key, 32+x, 16) + msg_key + substr (auth_key, 48+x, 16));
sha1_с = SHA1 (substr (auth_key, 64+x, 32) + msg_key);
sha1_d = SHA1 (msg_key + substr (auth_key, 96+x, 32));
aes_key = substr (sha1_a, 0, 8) + substr (sha1_b, 8, 12) + substr (sha1_c, 4, 12);
aes_iv = substr (sha1_a, 8, 12) + substr (sha1_b, 0, 8) + substr (sha1_c, 16, 4) + substr (sha1_d, 0, 8);
Сомнения вызывает ф-ия openssl encrypt/decrypt - они кодируют/раскодируют только на основе соли или ещё каких-то данных свойственных железу напр? :)
<?php
#Подключение JS
function my_enqueue_js() {
#Скрипт с обработчиком код скрипта ниже
wp_enqueue_script( 'my-ajax', get_template_directory_uri() . '/assets/js/my-ajax.js', array('jquery'), '1.0.0', true );
#Отпрака переменных в скрипт
wp_localize_script( 'my-ajax', 'MyAjax', array(
'ajax_url' => admin_url( 'admin-ajax.php' ),
'security' => wp_create_nonce( 'my-security-string' )
));
}
add_action( 'wp_enqueue_scripts', 'my_enqueue_js' );
#Обработчик
function my_action_callback() {
check_ajax_referer( 'my-security-string', 'security' );
$int = intval( $_POST['int'] );
$int += 10;
echo $int;
wp_die();
}
#Добавление обработчика
# вешается на wp_ajax_{имя_экшена}
# имя экшена должно совпадать с тем, которое задано в js
add_action( 'wp_ajax_my_action', 'my_action_callback' );
#не забываем про nopriv для неавторизованных юзерей
add_action( 'wp_ajax_nopriv_my_action', 'my_action_callback' );
jQuery(document).ready(function($) {
var $data = {
action: 'my_action',
security : MyAjax.security,
int: 1234
};
$.post(MyAjax.ajax_url, $data, function($response) {
alert('1234 + 10 = ' + $response);
});
});