-1
時向頁面添加字母/數字我期待在Wordpress上爲每個頁面創建一些帖子元。這是關於分類的一點。每個頂級頁面都會有一個字母,如A B C D等。頂級頁面的每個子頁面都會有一個數字,如01,02,03,04。我試圖修改我的代碼發佈/更新/刪除相應地添加/更新元,無論頁面被刪除或添加。我的問題是如何檢查它是否是保存的頂級頁面或子頁面?代碼看起來好像只使用代碼的頂層部分,不管是否是父類,都會保存不同的字母。在發佈/更新
function updateNumbers($post) {
global $wpdb;
$querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'page' ";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if($post->post_parent > 0) {
//Child Page
$counts = 01;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$counts++;
$parent_letter = get_post_meta($post->post_parent, 'incr_letter', true);
add_post_meta($post->ID, 'incr_number', $counts, true);
update_post_meta($post->ID, 'incr_number', $counts);
add_post_meta($post->ID, 'incr_letter', $parent_letter, true);
update_post_meta($post->ID, 'incr_letter', $parent_letter);
endforeach;
endif;
}else {
//Top Level Page
$counts = A;
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
$counts++;
add_post_meta($post->ID, 'incr_letter', $counts, true);
update_post_meta($post->ID, 'incr_letter', $counts);
endforeach;
endif;
}
}
add_action ('publish_post', 'updateNumbers');
add_action ('deleted_post', 'updateNumbers');
add_action ('edit_post', 'updateNumbers');
所需的分層結構將類似於此:
- Page 1 - A.01
- Page 2 - B.01
-- Page 2 Child - B.02
-- Page 2 Child - B.03
-- Page 2 Child - B.04
- Page 3 - C.01
- Page 4 - D.01
以及你遍歷所有帖子1周時後保存並根據該值更改所有帖子。 – David
@大衛,對,但由於某種原因,它不是確定和運行適當的功能,無論它是父母或子頁面。所有網頁只是得到一個sequintial字母,沒有號碼,沒有層次 – Derek