2013-09-22 35 views
0

以下是laravel應用程序的index.blade.php。在Laravel上渲染wordpress

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html lang="en-GB" xmlns="http://www.w3.org/1999/xhtml"> 
    <?php 
     global $wp_rewrite; 
     define('WP_USE_THEMES', true); 
     // require_once (app_path().'/libraries/wp-config.php'); 
     // require (app_path().'/libraries/wp-load.php'); 
     require (app_path().'/libraries/wp-blog-header.php'); 
     // require ('../app/libraries/wp-blog-header.php'); 
    ?> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <meta http-equiv="X-UA-Compatible" content="IE=Edge;chrome=1"> 
     <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" /> 
     <title> @yield('title') </title> 
    </head> 
    <body @yield('bodyclass')> 
     <div id="container"> 
      <div id="primary-menu" class="dropdown-menu-wrap"> 

      <?php wp_nav_menu(array('theme_location' => 'primary', 
       'container' => false, 
       'menu_class' => 'menu', 
       'menu_id' => '', 
       'fallback_cb' => false 
      )); ?> 

      </div> 

試圖調用現有wordpress應用程序的菜單。而config.php是從現有的wordpress直接下載的,wp_include是從新的wordpress文件新下載的。與wp-blog-header,wp-load和wp-setting相同。

我不確定爲什麼繼續彈出錯誤的調用一個非對象的成員函數main()。測試了所有可用的解決方案,但失敗了。

function wp($query_vars = '') { 
global $wp, $wp_query, $wp_the_query; 
$wp->main($query_vars); 

if (!isset($wp_the_query)) 
+0

'調用一個成員函數main()在非object.'通常意味着所使用的變量不是一個對象,在這種情況下'$ wp'似乎不是wordpress對象,是這個腳本中的wordpress框架 –

+0

@Patrick Evans,有沒有可能使用這個函數?我的意思是來自Wordpress外部網站的wp_nav_menu。 Thx – 1myb

+0

如何在Blade和Wordpress中混合使用? – fideloper

回答

2

我嘗試這樣做,還有,我認爲這可能是一個答案:https://github.com/swt83/laravel-wordpress/blob/master/readme.md

問候;-)

+0

請注意,[只有鏈接的答案是不鼓勵的],所以答案應該是一個終點尋找一個解決方案(而不是另一個引用的中途停留,這往往會隨着時間推移而變得陳舊)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra

0

而是在「刀刃」使用WordPress功能,你可以將它傳遞給變量,並可以將它調用到刀片中。

<?php 
//In controller 
$args = array(
      array('theme_location' => 'primary', 
       'container' => false, 
       'menu_class' => 'menu', 
       'menu_id' => '', 
       'fallback_cb' => false, 
      'echo' => false 
     )); 
     $data['menu'] = wp_nav_menu($args); 
?> 

//In blade 
{{$menu}} 

對於詳細,你可以通過:Wordpress+Laravel