web-dev-qa-db-ja.com

バックエンドとしてのWordPress、 Laravel フロントエンド:ルートを接続する方法?

私はサイトをデザインしようと思っていますが、クライアントがコンテンツを編集できるようにするためにWordPressを使用することを考えていますが、最新のテクノロジでは最新ではありません。率直に言って、これはそれのための素晴らしいオプションかもしれません。

それから、バックエンドとしてそれを使用し、それをLaravelやCakePHPのような何らかのフレームワークと混ぜ合わせて残りの作業を行い、ビューを設計することについて考えます。

あなたはこれがそれへのいいアプローチだと思いますか?

Wordpressのテーマのみを使用することを考えた場合、URLのルーティングについて考え始めたときに困ったことに気付きました。各テンプレートファイルがURLごとに呼び出されることを理解しなければなりません。

そしてその一方で、私は他のPHPフレームワークでそれをどのように扱うかを知っているので、私がそこでそれをするのはもっと簡単なようです。

外部のフレームワークを使用するのではなく、サイトにワードプレスのみを使用する利点はありますか? LaravelルーティングシステムをWordPress書き換えシステムに接続する方法はありますか?

2
Alvaro

WordPressについてのこと、それは きちんと ルーティングシステムを持っていないが原則としてそれは同じ操作をする。 URL入力を受け取り、それを一連のクエリ変数と照合します。

それについてのきちんとしていないことはそれがこれらの完全ではない経路と たくさんの のために正規表現を使うということです。複雑なサイトでは、ルールの総数は最低約100から 数千 まで変動します(表示するには$wp_rewrite->rulesをダンプしてください)。

このシステムは完全に置き換えることができます(ただし、WPの観点から見れば狂ったハックに接して、特にクリーンにはなりません)。

主な課題は、 feature parity のために多大な労力を費やさなければならないということです。つまり、ルーターはWPで「正しく動作する」ものの90%を壊していません。

機能の同等性を気にしないのであれば、ごく一部の機能を使用して、それ以外は無視してかまいません。

PSまたはあなたはそれが行われることを意味しているようにWPサイトを作ることができます。それはたくさんの人々のために働きます。 :)

3
Rarst

WordPressを他のフレームワークと組み合わせることで、自分の足を撃つのがとても簡単になります。あなたのクライアントが欲しいのはエディタだけなら、Wordpress全体をドラッグすることなくTinymceを使うことができますが、ワークフローと柔軟性の後であれば、Wordpressをそうでないものにしようとしても無意味です。あなたはより多くの時間を費やす傾向があり、それからあなたは開発に期待しそしてそれでもあなたの顧客を完全に満足させない何かを生み出す。

3
Mark Kaplun

私はLaravelでwp-api.org、Guzzle、キャッシングを使ってこれを達成し、私は Cyber​​Duck's package を私のニーズに合うように少し拡張しました。私自身の見解とルーティング。

この方法でそれに近づくとき、私はWP管理領域をより構造化されたコンテンツリポジトリとして、そしてページ管理CMSとしてより少なく考えることがより簡単であることがわかりました。私はACFと私自身のカスタムプラグインを多用しました。

他の多くのWPプラグインはあまりうまく動作しません。多くの出力が生成されるためです。その出力を入手して自分で印刷する方法を考え出すか、代わりに独自の機能を構築する必要があります。

プロジェクトは基本的なショッピングカートを必要とし、WooCommerceは請求書に合い、代わりにカスタムのWPテーマで立ち往生していたので、私はこれを立ち上げたことがありませんでした。しかし、これは素晴らしい学習経験であり、特にキャッシングが実行された後は非常にうまく機能しました。

しかし、その場合は2つのアプリケーションを保守することになります。私の場合、少なくとも、WPコンテンツリポジトリからすべてのWebサイトまたはアプリケーションを作成するのであれば、本当に意味があります。

これはいいアプローチだと思いますか?

アプリケーションまたはドメインがそれを保証するものであれば、はい。私は自分自身のルーティングとビューを使うことをとても楽しんだ。そして、私はWPテーマコードに触れる必要はありませんでした。これは大きなボーナスです。

サイトのために外部のフレームワークを使うのではなく、ワードプレスのみを使うための利点はありますか?

もちろん、保守するアプリケーションが1つ少なくなり、作成するコードがはるかに少なくなります。すべてのルーティングはWPに組み込まれています。しかし、あなたが本当にそのリライトエンジンに掘り下げてそれをハックしない限り、あなたはWPがどのように物事をルーティングするかについて立ち往生しています。

LaravelルーティングシステムをWordPress書き換えシステムに接続する方法はありますか?

私はこれをあまり深く掘り下げませんでした。WPに十分に似た書き換え/ルート構造を使用する必要がある場合は、最初はWPを使用しただけです。私のプロジェクトの主な動機は、私のドメインのルート構造が単にWPのものと協力しないということでした。

{slug}のWP AP​​Iをクエリして投稿のコンテンツを取得するためのルート(つまりpost/{slug})を設定するのは、それほど難しくありませんでした。

0
Steve Jamesson