2013-03-31 32 views
0

我正在使用下面的模板添加一個輔助頁面到我的WordPress的網站(沒有網站的樣式,菜單等),它不返回任何數據庫結果。我讀過無數的網頁和幾本WP書籍,我迷失了方向。我可以看到數據庫中的四條記錄,但該頁面沒有顯示任何記錄。這裏是我的模板:

< PHP /* 模板名稱:?!?媒體播放器頁面 * /> < DOCTYPE HTML>> <頭> <元的charset =」 < PHP代碼bloginfo(」字符集');?>」 /> <標題>在線媒體播放器</TITLE>

<?php wp_head(); ?> 

    <link rel="stylesheet" href="/assets/css/music-player.css" type="text/css" media="screen" charset="utf-8"> 

    <script src="/assets/js/jquery-1.8.3.js"></script> 
</head> 

<body> 
    <div class="main-center"> 
     <h1>Please select your choice of music</h1> 
     <?php 
      global $wpdb; 
      $rows = $wpdb->get_results("select * from ppm_playlists"); 
      foreach($rows as $row) : 
     ?> 
      <a class="openplayer" data-genre="<?php echo $row['id']; ?>" href="#"><?php echo $row['playlist']; ?></a> 
     <?php endforeach; ?> 
    </div> <!-- /.main-center --> 

    <script type="text/javascript"> 
     (function($) { 
      $('.main-center').on('click', '.openplayer', function(e){ 
       var genre = $(this).data('genre'); 
       e.preventDefault(); 
       alert(genre); 
      }); 
     })(jQuery); 
    </script> 
</body> </html> 
+1

是否有一個原因,爲什麼你的JavaScript混合在與HTML和混合PHP?所有模板內...上次我檢查那不是你如何在wordpress –

+0

內做一個模板,我可以想辦法讓它工作。這是一個由數據庫提供動力的頁面,通過插件進行編輯,頁面沒有需要的信息。將所有內容包含在一個文件中更容易。 – jgravois

回答

2

$wpdb->get_results will return an array of objects,而不是數組的數組,除非您將第二個參數傳遞給另一個參數。如果你有debugging enabled,你會看到Fatal Error: Cannot use object of type stdClass as array....

你想使用對象語法:

foreach($rows as $row) : ?> 
    <a class="openplayer" data-genre="<?php echo $row->id; ?>" href="#"><?php echo $row->playlist; ?></a> 
<?php endforeach; ?> 

,或通過第二個參數get_results

$rows = $wpdb->get_results("select * from ppm_playlists", ARRAY_A); 
+0

謝謝!該對象完美地工作。 – jgravois

相關問題