Здравствуйте, уважаемые заказчики.
В эти выходные (3 и 4 июня) я с большой вероятностью буду недоступен в сети.
13 и 14 марта я могу быть недоступен в сети. Заранее извиняюсь за неудобства.
Готовых решений скорее-всего не существует. Нужно писать скрипт, который распихает файлы по подпапкам и поправит пути в базе данных.
Технически это возможно. Нужно просто для администратора переопределить шаблон. В то же время для разработки лучше все же использовать локальную копию сайта и полноценную IDE.
Посмотрите здесь: http://ru.stackoverflow.com/questions/26452/Кодировка-данных-в-phpmyadmin
Скорее-всего у вас в базе данных данные как таковые сохранены в UTF-8, WP использует эту же кодировку, но phpmyadmin их отображает в Windows-1251 или latin. Это может быть проблема как самого phpmyadmin, так и настроек БД по-умолчанию.
Как именно вы "вошли в БД" сайта? Какая кодировка страницы с содержимым базы данных?
Это и не должно было решить вашу основную проблему. Эта строка как таковая лишняя. В глобальной переменной $post хранится текущий объект записи. Переписывать ее в явном виде не рекомендуется.
Вы сами об этой функции писали выше в 3 пункте:
<?php echo get_post_meta($post->ID, "custom_field_name", true); ?>
Уберите $post = $posts[0];.
Это нужно вывести там, где вы вызываете функцию get_post_meta(). Скорее-всего у вас объект $post будет отсутствовать. В этом случае идентификатор следует передавать через get_the_ID().
decart, начать стоит с конца. Попробуйте вывести значение echo $post->ID, чтобы посмотреть что передается в функцию. Если он равен нулю или не указан вообще, то посмотрите есть ли в archive-custom.php инициализация цикла WP и вызов the_post().
Также прямое обращение к ID лучше заменить на get_the_ID(), если вы работаете в рамках цикла.
Попробуйте заменить кавычки на одинарные у названия поля: [acf field='url2']