Wordpress查找自定义帖子的类别连接到自定义帖子

时间:2018-01-16 18:20:38

标签: php wordpress

以下是我的工作代码,用于将lp_lesson类型的每个帖子中的自定义文本字段更改为某些文本。这些lp_lessons中的每一个都会分配一个特定的帖子(lp_course)。

我的问题是如何确定哪个课程与哪个课程相关?我的phpAdmin标题wp_learnpress_section_items中有一个空格,其中包含section_iditem_id,但我不知道如何访问这些内容,因为我尝试过:$field_value = get_post_meta( $post->ID, 'section_id', 1);

section_idwp_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,但没有给出其他变量。

1 个答案:

答案 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' );
            }
          }
        }
      }
    }
  }
}