Интеграция WordPress CMS в CakeStack Overflow

Я пытаюсь интегрировать WordPress в CakePHP 2.6.1 использовать его как CMS для моих конечных пользователей.
Я включаю необходимый файл для доступа к функциям WordPress: wp-blog-header.php,

Так как CakePHP позволяет включать только файлы, расположенные внутри CakePHP, я поместил внутри WordPal Intallation app/Vendor/wordpress и теперь я пытаюсь импортировать необходимый файл в моем AppController в этом случае:

App::import('Vendor', 'wordpress'.DS.'wp-blog-header');

Но, похоже, что некоторые функции конфликтуют, так как я получаю эту ошибку от CakePHP:

Ошибка: невозможно повторно объявить __ () (ранее объявлено в /home/todopeta/alvarotrigo/pruebas/cakephp/lib/Cake/basics.php:581)
Файл: /home/todopeta/alvarotrigo/pruebas/cakephp/app/Vendor/wordpress/wp-includes/l10n.php
Линия: 163

Кто-нибудь интегрировал WordPress в CakePHP раньше?

Какой способ пойти на это?

я видел кажется возможным с другими PHP MVC frameworksk, такими как Laravel.
Является ли CakePHP более строгим в этом отношении?

0

Решение

Получите доступ к данным WP, создав плагин WP для CakePHP, добавьте модель для каждой из таблиц WP и прочитайте данные через CakePHP.

Ваша связанная статья делает то же самое, но использует класс WP_Query и далее Corcel, который, кажется, представляет собой смесь между Eloquent ORM и WP. Я бы не пошел по этому пути и не использовал CakePHP ORM.

Я могу гарантировать вам, что все остальное станет проблемой в тылу благодаря нечеткому коду и архитектуре WP.

Если вы попытаетесь использовать код WP внутри CakePHP, как вы пытались, это станет очень болезненным, отнимает много времени и, вероятно, никогда не сработает без какого-то действительно по-настоящему беспорядочного кода.

Если вам нужны только части из WP, подумайте о создании плагина WP и встраивании контента WP через iframe на свою страницу. AFAIK WP также получил API-интерфейс json, и вы можете попробовать прочитать данные через этот API-интерфейс.

1

Другие решения

При таком подходе у вас будет кошмар, и в итоге вы получите огромный код.

Вместо этого, почему бы не попробовать использовать систему CakePHP CMS, например:

https://croogo.org/

1

По вопросам рекламы [email protected]