在Wordpress中我使用的是LearnPress插件。这个插件创建了一个名为lp_lesson
的自定义帖子(据我所知)。我还使用了一个名为Advanced Custom Fields PRO的插件。此插件允许在每个lp_lesson
上创建其他字段。我添加的自定义字段有wpk_role_options
的名称(我猜是变量名称)。
我想要做的是提出一个循环遍历每个for-loop
的{{1}},并使用lp_lesson
或{{检查与该课程相关联的category
1}}。如果符合条件,我想在switch
自定义字段中添加文字。
我认为我在大多数情况下都有完整的逻辑,但更多的是我难以理解的语法。
非常感谢任何帮助!
到目前为止我收集了什么:
if else
答案 0 :(得分:2)
您正在使用“WordPress循环”语法,该语法用于在公共端显示帖子列表。但是,你真的不想在管理员端使用它。
你需要使用普通的php循环。您可能还想使用更快更简单的get_posts
函数:
//Get post type of lp_lesson
$args = array(
'post_type' => 'lp_lesson'
);
$posts = get_posts($args);
$categories = get_categories();
for($posts as $post) {
foreach($categories as $cat) {
if ( in_category( $cat->term_id, $post) ){
// This post has the category
}
}
// get/check for a post custom field
$field_value = get_post_meta( $post->ID, 'meta_name', 1);
// or you can also update this post's custom field
update_post_meta( $post->ID, 'meta_name', 'new_value' );
}
}
我真的不知道为什么要循环这些类别。如果您只是检查特定类别,您可以围绕$ categories事物取出整个foreach。