сделайте индексы в бд на необходимые поля.Вес базы конечно подрастет, но выборка будет идти быстрее. Хотя на мой взгляд пытаться добиться от wp скорости - это как мастерить ebs в ВАЗ 2101. Интересно, но не стоит ни кому рассказывать.
Как вариант еще можно кешировать запросы, если их вариаций не миллион, то вполне решение.
Перебирать массив и обновлять. Есть метод updateAll, иногда оправдан. Все зависит от ситуации. Не совсем понятно в чем проблема? Вы не знаете как? Или не знаете какой из вариантов выбрать? Если второе, то приведите варианты.
Ответ на вопрос можно разделить на 2 части:
1. Понадобится ли эта запись в будущем? Например удалять пользователя нет смысла, он может вернуться.
2. Может ли это повлиять на seo или на работу сайта. Например удалив страницу - теряете сео, можно изъять ссылки на нее с сайта, но при этом оставив доступ по прямой ссылке. Некоторые вещи имеет смысл хранить для статистики.
Но имейте в виду, что чаще это лень. Например удаление категории форума, требует удаление всех форумов внутри и наверняка еще кучи связанных данных. И проще не удалять, чем прописать все зависимости - это лень.
Поэтому ответ удалять или нет зависит от конкретного случая. Иногда надо удалять иногда стоит оставить. А вопрос разрастающейся базы может решить архивирование.
1. можно использовать join
2. Зачем Вам 2 одинаковые таблицы - ошибка именно тут. Перенесите все в 1 и в ней добавьте поле которое будет различать данные
База данных выводит данные. Расставляет их на странице html.
хотите по 3 в ряд:
1. можно использовать bootstrap и дать в div class col-xs-4
2. Можно использовать строчные элементы, а не div и ввести в цикл счетчик, проверять его кратности 3-м и делать перенос
3. Можно через css используя float:left; для div и Псевдокласс :nth-of-type для задания float:none, для каждого четвертого
это адский пример, но ошибка из-за отсутствия public перед function
Я бы Вам настоятельно рекомендовал бы взять какой-нибудь php framework и разобрать его, посмотреть как там реализованы принципы ООП, MCV и т.д. Как подключать базу, как обезопасить ее и т.д.
js формирует форму, форма отправляется на сервер, там можно менять пришедшее на название таблицы.
Но не вижу беды в названии таблицы. Если злоумышленик получил доступ к базе, то выбрать названия таблиц уже дело 1 строчки кода.
Хорошая crm - битрикс24, у нее есть api, так что можно подключить к чему угодно. Плюс есть десктопное приложение. FREE, но не opensorce, однако допиливать можно, через api.
WordPress (как основа) - намучаетесь. Возьмите php framework какой-нибудь.