以下是我的工作代码,用于将lp_lesson
类型的每个帖子中的自定义文本字段更改为某些文本。这些lp_lessons
中的每一个都会分配一个特定的帖子(lp_course
)。
我的问题是如何确定哪个课程与哪个课程相关?我的phpAdmin标题wp_learnpress_section_items
中有一个空格,其中包含section_id
和item_id
,但我不知道如何访问这些内容,因为我尝试过:$field_value = get_post_meta( $post->ID, 'section_id', 1);
section_id
在wp_learnpress_sections
的phpAdmin中引用了一个数组,我很乐意这样做:
获取相当于帖子item_id
的{{1}}。然后获取与ID
相关联的section_id
。然后获取与item_id
相关联的section_course_id
。我有逻辑 - 我只是不知道如何访问这些变量或项目。我猜我的section_id
不是访问这些项目的正确方法。
$field_value
编辑:我发现add_action( 'wp_enqueue_scripts', 'win_9388244_format_lp_lesson' );
function win_9388244_format_lp_lesson() {
//Get post type of lp_lesson
$args = array(
'post_type' => 'lp_lesson',
'numberposts' => 99999
);
$posts = get_posts($args);
foreach($posts as $post) {
//if category == Test
update_post_meta( $post->ID, 'wpk_icon_text', 'Test' );
}
}
为我提供了帖子的ID,但没有给出其他变量。
答案 0 :(得分:0)
对于任何想要做类似事情的人,我都能让它发挥作用。
function win_9388244_format_lp_lesson() {
//Get post type of lp_lesson
$args = array(
'post_type' => 'lp_lesson',
'numberposts' => 99999
);
$posts = get_posts($args);
global $wpdb;
$sections = $wpdb->get_results( "SELECT section_item_id, section_id, item_id FROM wp_learnpress_section_items", ARRAY_A );
$items = $wpdb->get_results( "SELECT section_course_id, section_id FROM wp_learnpress_sections", ARRAY_A );
foreach($posts as $post) {
$lesson_id = $post->ID;
foreach($sections as $section) {
if($section['item_id'] == $lesson_id) {
$currentSection = $section['section_id'];
foreach($items as $item) {
if ($item['section_id'] == $currentSection) {
$course_code = $item['section_course_id'];
if ($course_code == 6177){
update_post_meta( $post->ID, 'wpk_icon_text', 'Time & Labor' );
}
else{
update_post_meta( $post->ID, 'wpk_icon_text', 'Lesson' );
}
}
}
}
}
}
}