-
-
Доброго времени суток!
После переноса сайта на другой домен не могу добавлять картинки и новые страницы. Перед этим была проблема с самой базой, была ошибка : Incorrect table definition; there can be only one auto column and it must be defined as a key
Эта ошибка была решена путем замены:
CREATE TABLE wp_woocommerce_sessions (
session_id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
session_key char(32) NOT NULL,
session_value longtext NOT NULL,
session_expiry bigint(20) UNSIGNED NOT NULL,
PRIMARY KEY (session_key)
)
ENGINE = INNODB,
AUTO_INCREMENT = 4,
AVG_ROW_LENGTH = 16384,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_unicode_520_ci;
—
— Create indexsession_id
on tablewp_woocommerce_sessions
—
ALTER TABLE wp_woocommerce_sessions
ADD UNIQUE INDEX session_id (session_id);Заменил на :
CREATE TABLE wp_woocommerce_sessions (
session_id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT,
session_key char(32) NOT NULL,
session_value longtext NOT NULL,
session_expiry bigint(20) UNSIGNED NOT NULL,
PRIMARY KEY (session_key),
UNIQUE INDEX session_id (session_id)
)
ENGINE = INNODB,
AUTO_INCREMENT = 4,
AVG_ROW_LENGTH = 16384,
CHARACTER SET utf8mb4,
COLLATE utf8mb4_unicode_520_ci;После этой замены база выгрузилась. Сайт работает но на шаблоне слетели стили. Это впринципе не беда, восстановил быстро. Но теперь проблема следующая, не добавляются картинки, страницы и записи… В базу ничего не записывается. Ошибки такие:
«не удалось вставить запись в базу данных»
«Извините, вам не разрешено редактировать эту запись.»
В чем может быть дело? Может права какие нибудь выставить нужно?
Версия вордпресс последняя.
-
В какой-то мере — это продложение темы: здесь
При создании в админке новой метки, выходит ошибка:
Ошибка базы данных WordPress: `[Duplicate entry ‘0’ for key ‘PRIMARY’]
INSERT INTOwp_terms
(name
,slug
,term_group
) VALUES (‘actionsnew’, ‘actionsnew’, 0)`В phpMyadmin в таблице wp_terms, удаляю поле term_id и создаю новое (в точности как старое), ставлю галочку AUTO_INCREMENT её не было в старой таблице.
Поле удачно добавляется.Но проблема происходит в админе:
вместо рубрик для записей подставляются метки, (меток на сайте много).
Соответственно, на сайте проблема: главное меню состоящее из рубрик превращается в меню состоящее из меток.Пока откатил обратно БД, как исправить ситуацию?
-
Всем привет, пытаюсь на вордперссе написать свой плагин. В котором будет одна база данных и пользователь из под админики сможет ее редактировать (удалять, добавлять, изменять). Создал базу данных, но не могу понять как ее визуализировать, для пользователя — нужно ли создавать input’ы для каждого поля и кнопки отдельно или все таки в wordpress есть для таких типовых задач уже встроенные механизмы? Мой код ниже:
<?php /* Plugin Name: msv-Price item Description: Create the list with hierarchies of services Version: 1.0 */ global $jal_db_version; $jal_db_version = '1.0'; function jal_install() { global $wpdb; global $jal_db_version; $charset_collate = $wpdb->get_charset_collate(); require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); $table_name_price_cat = $wpdb->prefix . 'price_cat'; $price_cat_sql = "CREATE TABLE $table_name_price_cat ( id int(120) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; dbDelta( $price_cat_sql ); $table_name_price_items = $wpdb->prefix . 'price_items'; $price_items_sql = "CREATE TABLE $table_name_price_items ( id int(120) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, price double(10,2) NOT NULL, cat_id int(11) NOT NULL, ordering int(11) NOT NULL, FOREIGN KEY (cat_id) REFERENCES ".$table_name_price_cat."(id), PRIMARY KEY (id) ) $charset_collate;"; dbDelta( $price_items_sql ); add_option( 'jal_db_version', $jal_db_version ); } function price_item_setup_menu(){ add_menu_page( 'Price item setup page', 'Price item', 8, 'service_itemes', 'price_item_init' ); } function price_item_init(){ global $wpdb; $items = $wpdb->get_blog_prefix() . 'price_items'; $categories = $wpdb->get_blog_prefix() . 'price_cat'; $result = $wpdb->get_results("SELECT $items.id, $items.name, $items.price, $categories.name as cat FROM $items,$categories WHERE $items.cat_id = $categories.id ORDER BY cat_id", ARRAY_A); $currentLine = ""; $closetags = ""; foreach ($result as $info){ if ($currentLine != $info['cat']){ $currentLine = $info['cat']; echo $closetags; $closetags = "</table>"; echo "<h2><center>".$info['cat']."</center></h2><table>"; } echo "<tr><th><a href=#>".$info['name']."</a></th><th>".$info['price']."</th></tr>"; } echo "</table>"; } register_activation_hook( __FILE__, 'jal_install' ); register_activation_hook( __FILE__, 'jal_install_data' ); add_action('admin_menu', 'price_item_setup_menu'); ?>
-