Как получить идентификатор опции Wordpress для add_option? - PullRequest
0 голосов
/ 08 февраля 2020

Я понимаю, что «если я прав» каждый раз, когда используется add_option (someoption), он создает какой-то идентификатор в MySql Таблице.

Вот сценарий, в котором необходимо избежать создания дополнительные таблицы и запросы и использование собственных опций Wordpress для управления сортировкой, изменением, разбиением на страницы и запросами данных.

, поскольку в опциях используется длинный текст в таблице MySql, и он может хранить до 4 ГБ данных, однако на большинстве хостингов он ограничен 16 МБ, и для тех, кто не является техническим специалистом, очень трудно понять, что к чему.

Вот то, что я пытаюсь сделать:

$items = array();

$item_1_contents = array(...);
$item_1_inserted_option_id = add_option($item_1_contents); 
// WP saves and inserts the option and I need to get this ID?
$items[] = $item_1_inserted_option_id;
// store the inserted option ID to items array

// another item
$item_2_contents = array(...);
$item_2_inserted_option_id = add_option($item_2_contents); 
$items[] = $item_2_inserted_option_id;

// another item
$item_3_contents = array(...);
$item_3_inserted_option_id = add_option($item_3_contents); 
$items[] = $item_3_inserted_option_id;

// at this stage i want to have the items array to look like
$items = array(x,x,x);
// x represents the saved option ID

// so I can save them in one single option where I can use to push more for update
$saved_items = update_option('items', $items);

// to extract and display 
$get_items = get_option('items');
foreach($get_items as $it){
    $actual_item = get option by its id 
    // the prepare actual item for html output
}

// Does this make any sense? 

Плагин, который я разрабатываю, может использоваться для создания до 100 опций в месяц, поэтому в год может быть 1200 опций, и, учитывая, что мы находим способ получить опцию идентифицируйте и сохраните его в опции "items" следующим образом:

// items option will look like this
$items = array(232,322,12,21,32,2323,2332, 232,322,......); 
// so in 10 years there could be 12000 option IDs in this array 
// which will be sorted by DESC and queried 20 per page at a time

Все это, чтобы избежать повторного создания данных mysql, а также правильно использовать параметры, чтобы не исчерпать максимальное время ожидания?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...