[英]How do I pass the product category name from the wordpress URL to my shortcode?
[英]How do I use the category name rather than the category id in my url?
我正在使用 CodeIgniter 框架,並且無法弄清楚如何讓我的 url 顯示類別名稱,但我的查詢仍然引用類別 ID。
我有一個名為作業的 controller 設置。 url 的結構是“example.com/jobs/listings/category_id”示例:“example.com/jobs/listings/3”,其中 3 是“軟件”的類別 ID。
我寧願 url 說“example.com/jobs/listings/category_name”示例:“example.com/jobs/listings/software”。
我遇到的問題是“jobs”表保存了job所屬的category_id,而不是category_name。 我有一個單獨的表,其中僅包含類別 ID 及其名稱。 我不知道如何 A.) 寫我的查詢和 B.) 做一個 SEO 友好的 url 結構。
我當前的查詢類似於“SELECT * FROM jobs WHERE cat_id = 3;
另外,我不確定是否應該在 .htaccess 文件中使用 mod_rewrite,或者是否應該在 CodeIgniter 中使用 routes.php 文件。
任何幫助將不勝感激!
-謝謝
只需加入您的另一張桌子。
SELECT * FROM jobs JOIN categories ON jobs.cat_id = categories.id WHERE categories.name = ?;
如果您還沒有,請確保在類別名稱上放置一個唯一鍵。
mod_rewrite
對應用程序路由來說是一個糟糕的解決方案,無論如何在這里也無濟於事。 堅持你的框架提供的任何東西。
在 URL_title() 上查看http://codeigniter.com/user_guide/helpers/url_helper.html
使用 url_title() function 轉換類別名稱,確保沒有重復項。
當調用 url 時,使用簡單的 where 語句從 model 中查找您的類別
例如
$this->db->from('categories');
$this->db->where('name', $url);
Etc...
使用它來加載您的頁面標題等,然后使用返回的 categoryid 在您的工作表上進行查找。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.