Обновления плагинов Wordpress - PullRequest
0 голосов
/ 07 февраля 2012

Я ищу руководство по работе с Wordpress. Моя компания недавно решила перейти на использование Wordpress в качестве основной платформы разработки. Я привык делать ООП и вижу, что Wordpress имеет поддержку, и это здорово. У меня есть несколько вопросов, на которые, я надеюсь, могли бы ответить некоторые опытные разработчики Wordpress.

1.) У нас есть дизайнеры, которым нравится изменять расположение элементов из плагина. Каков наилучший способ справиться с этим с точки зрения обновления плагинов, чтобы изменения не перезаписывались в будущих обновлениях? Вероятно, мы будем создавать большинство наших собственных плагинов и будем использовать для них пользовательские типы контента, когда они будут доступны.

2.) С точки зрения клиента, каков наилучший способ обработки URL для пользовательского контента (например, плагин Faqs, чтобы дизайнеры могли обрабатывать макет, а клиент мог легко вводить их). Моя первоначальная мысль состояла в том, чтобы создать тип поста cutom и сделать пробку через него. Однако недостатком этого является то, что они не могут изменить URL-адрес из раздела страниц и добавить любое пользовательское содержимое перед вызовом содержимого плагина. Моя вторая мысль состояла в том, чтобы просто использовать короткие коды, но недостаток в том, что клиент может случайно удалить его. Есть ли другой способ, который я пропускаю, или еще лучший способ?

Если у кого-то есть какие-либо другие советы / предложения, пожалуйста, не стесняйтесь оставлять их. Также приветствуются любые ссылки на замечательные статьи / ресурсы по работе с Wordpress.

1 Ответ

2 голосов
/ 07 февраля 2012

Некоторые общие советы:

  1. Всегда используйте Кодекс . WordPress действительно имеет хорошую документацию.

  2. WordPress это довольно процедурный, но никто не может помешать вам использовать ООП. Я действительно рекомендую вам использовать автозагрузчик. В вашей конфигурации wp вы регистрируете автозагрузчик следующим образом:

    define ('LIB_PATH', realpath (dirname ( FILE )). '/ Wp-content / themes / yourtheme / lib');

    требуется LIB_PATH. «/MainFolder/Autoloader.php';

    spl_autoload_register ( 'MainFolder_Autoloader :: автозагрузка');

Создайте папку «lib» в своей теме и «MainFolder» в каталоге lib. Затем в вашем MainFolder вы создаете файл Autoloader.php, который имеет следующее содержимое:

class Autoloader
{
/**
 * Namespace.
 */
protected static $namespaces = array(
    'MainFolder'

);

/**
 * @param string $className
 * @return string|false
 */
public static function autoload($className)
{
    if (($classPath = self::getClassPath($className)) !== false) {
        return include $classPath;
    } else {
        return false;
    }

}

/**
 * @param string $className
 * @return string|false
 */
private static function getClassPath($className)
{
    $parts = explode("_", $className);

    foreach (self::$namespaces as $ns) {
        if (count($parts) && $parts[0] == $ns) {
            $path = LIB_PATH . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $parts) . '.php';
            if (is_readable($path)) {
                return $path;
            }
        }
    }
    return false;
}
}

Теперь в вашей «Основной папке» вы можете поместить все свои классы и получить к ним доступ в виде тематического файла, например: например, если у вас есть Upload.php, вы получаете к нему доступ через Mainfolder_Upload. И вы можете разместить в своем классе все публичные абстрактные функции, которые вам понадобятся.

  1. Используйте пользовательские типы сообщений. Я рекомендую вам Пользовательский плагин типа Ui . Это избавляет вас от большой работы.

  2. Используйте Шаблоны страниц .

  3. Когда вы используете ajax на своей передней панели, используйте файл admin-ajax.php. Подробнее здесь .

  4. Используйте wp enque script , когда вам нужно добавить некоторые js-скрипты.

  5. Узнайте о крючках .

  6. Возможно, вашему клиенту нужны некоторые меню в wp-admin. Узнайте, , как добавить меню администрирования в области wp-admin.

  7. Когда вы взаимодействуете с базой данных, используйте глобальный $ wpdb .

  8. Я не рекомендую редактировать файлы внешних плагинов. При обновлении они могут удалить ваши модификации.

  9. Веселитесь :) WordPress действительно используется, и вы можете найти всю информацию на Google:)

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