2016-02-20 48 views
0

我試圖創建php代碼,它將獲得分配給(當前頁面的)wordpress帖子的類別列表,然後遍歷數組列表和每個已分配給該職位的類別並將其添加到腳本中。如何獲取當前wordpress類別列表並注入腳本

這是劇本我需要注入類別名稱:

<script> window.abkw = '<category name>';</script> 

所以我寫了這一點,但它似乎沒有工作...

<?php 
    $ads = the_category(); 
    for ($i = 0; $i < count($ads); ++$i) { 
     $d = $ads[$i]; 
     <script> window.abkw = $d[$i];</script> 
} 
?>here 

我是新來的所以請原諒我的無知......並非常感謝你。

+0

我很抱歉,但我不明白?你能詳細說明一下嗎? – user2393110

回答

0

使用get_categories()https://developer.wordpress.org/reference/functions/get_categories/

$categories = get_categories(array('hide_empty' => 0')); 
foreach($categories as $category) { 
    echo '<script> window.abkw = '.$category->cat_name.';</script> '; 
} 
+0

當我運行此我收到以下錯誤: 解析錯誤:語法錯誤,意外'')); '(T_CONSTANT_ENCAPSED_STRING),期望')'在/home/dkjjkabcc988/public_html/news/wp-content/plugins/php-code-widget/execphp.php(27):eval()'代碼在第4行 – user2393110

+0

yup - 我輸入了 <?php $ categories = get_categories(array('hide_empty'=> 0')); foreach($ categories as $ category){ echo''; } ?> 我得到的錯誤: 解析錯誤:語法錯誤,意外的'')); '(T_CONSTANT_ENCAPSED_STRING),預計')'在/home/site/public_html/news/wp-content/plugins/php-code-widget/execphp.php(27):eval()在第4行的d代碼 請幫幫我!!謝謝!!!! – user2393110

+0

我認爲你在$類別行中的0之後有一個額外的'......現在唯一的問題是它看起來像吐出所有類別 - 我希望它只列出分配給該帖子的類別。 – user2393110

0

如果你使用jQuery的數據()什麼...

https://api.jquery.com/data/#data-html5

--edited--

我擴大的方式

template-example.php

... 

<?php 
$categories = get_categories(array('hide_empty' => 0')); 
foreach($categories as $category): ?> 
    <div class="js-category" style="visibility:hidden;" data-category = "<?php echo $category->cat_name ?>"></div> //invisible div 
<?php endforeach; ?> 
... 

file.js

var categories = $(".js-category").data("category"); 

...

+0

哦 - 我不知道;)我不是一個很好的開發人員...所以你失去了我...... :( – user2393110

+0

我編輯了鏈接,檢查這一個https://api.jquery.com/data /#data-html5 – Apeiron

+0

U可以通過這種方式將所有的信息從html5代碼轉移到js – Apeiron