這是我第一次在Wordpress中使用Pods,所以如果這是一個容易回答的問題,請原諒我。我已經做了一些尋找這個問題的答案,但沒有找到任何具體回答我的問題的東西。什麼是使用WordPress Pod管理多層次關係的最有效方式CMS
我有兩種不同的豆莢創建。研究
- 領域:如物理學,社會學或計算
- 案例研究:在研究的各個領域進行案例研究,詳細
每個案例研究波德有關係領域連接起來,一個特定的學習區域。 (在這個例子中,假定一個具體的案例研究只能涉及一個研究領域,這可能會在將來發生變化,但現在這應該就足夠了。)
每個研究領域都有一個關係字段將其鏈接到特定的WP頁面(例如描述物理研究領域細節的詳細頁面)。
我想要做的,是在循環瀏覽各種案例研究的同時,能夠獲取WP Page的鏈接,它與具體的焦點領域有關。
我從技術上知道如何做到這一點,但我不確定這是否是最有效的方法。 這是我做了什麼,它似乎是工作:
<?php
$case_studies = new Pod('case_studies');
$case_studies->findRecords(null, 200);
$total_rows = $case_studies->getTotalRows();
if ($total_rows > 0) {
while ($case_studies->fetchRecord()) {
// RETRIEVE AREA OF FOCUS DETAILS
$aof = $case_studies->get_field('area_of_focus');
$aof = $aof[0];
// GET AREA OF FOCUS POD
$aofs = new Pod('areas_of_focus');
$params = array('where' => "t.id like '".intval($aof['id'])."'");
$aofs->findRecords($params);
if ($aofs->fetchRecord()) {
$page = $aofs->get_field('focus_page');
$area_of_focus_url = get_permalink($page[0]['ID']);
echo '<a href="'.$area_of_focus_url.'">'. $aof['name'].'</a>';
} else {
echo $aof['name'];
}
// CASE STUDY DETAILS GO HERE
}
}
?>
這似乎是它的至少一個O(N²)算法,如果不是更多。我真的不知道Pod類的內部,所以它可能比這更貴。此外,這將執行多個MySQL查詢而不是單個查詢。
如果我在初始案例研究查詢中使用了一些MySQL連接,這樣我就不必讓它運行一堆其他查詢了?還是Pods本身有其他功能,可以讓我檢索關於關係字段的更多細節?
任何提示將不勝感激。
您是否曾經找到過實用的解決方案? – 2011-10-30 15:47:41
不適用於PodsCMS。我只是一起停止使用Pod。我現在使用高級自定義字段插件 ,並創建自己的自定義帖子類型。對於我所需要的,以這種方式做事非常有效。 –
2011-11-04 05:57:56