【发布时间】:2020-05-02 19:01:39
【问题描述】:
我有一个由插件制作的组件,它显示来自自定义帖子类型的文章列表。每篇文章都有与之关联的类 post-id。我无法覆盖子主题中的插件文件以在生成列表的模板内循环,因此我需要在 functions.php 中创建一个函数。我需要用高级自定义字段插件制作的自定义字段(颜色选择器)样式的新 div 替换文章中的 div,动态关联到每篇文章。
loop {
display: flex;
width: 100%;
}
article {
width: 200px;
height: 200px;
background: red;
margin:20px;
display:flex;
justify-content:center;
align-items:center;
}
.overlay {
width:150px;
height:150px;
}
<article class="portfolio-item post-53">
<div class="overlay" style="background-color:#000"></div>
</article>
<article class="portfolio-item post-65">
<div class="overlay" style="background-color:#000"></div>
</article>
<article class="portfolio-item post-70">
<div class="overlay" style="background-color:#000"></div>
</article>
function insert_custom_div() {
$args = array(
'meta_key' => 'new_color',
'post_type' => 'portfolio-item'
);
$posts = get_posts($args);
foreach ($posts as $post):
$color_picker_custom_field = get_field('new_color', $post->ID);
if ($color_picker_custom_field) {
?>
<script>
jQuery( document ).ready( function() {
jQuery('article').append('<div class="overlay post-<?php echo $post->ID; ?>" style="background-color:<?php echo $color_picker_custom_field; ?>"></div>');
});
</script>
<?php
}
endforeach;
}
add_action('wp_head','insert_custom_div');
【问题讨论】:
-
也许您需要将
$new_div声明为数组并在 $posts 循环中填充它
标签: php html jquery wordpress advanced-custom-fields