php - 将 wordpress 过滤变成功能
问题描述
我有一个按自定义分类法过滤的 wordpress 页面列表。如何将其转换为 wp 函数以与简码一起使用?
这是工作过滤:
<?
$custom_terms = get_terms('csgroup');
foreach($custom_terms as $custom_term) {
wp_reset_query();
$args = array('post_type' => 'page', 'csgroup' => 'digital-expert-group',
// $args = array('post_type' => 'page', 'csgroup' => 'management-consultants-group',
'tax_query' => array(
array(
'taxonomy' => 'csgroup',
'field' => 'slug',
'terms' => $custom_term->slug,
),
),
);
$loop = new WP_Query($args);
if($loop->have_posts()) {
echo '<h2>'.$custom_term->name.'</h2>';
while($loop->have_posts()) : $loop->the_post();
echo '<a href="'.get_permalink().'">'.get_the_title().'</a><br>';
endwhile;
}
}
wp_reset_postdata();
?>
我想得到这个:
function l1category_list_func(){
==my php code with list of pages==
}
add_shortcode( 'l1category_list', 'l1category_list_func' );
解决方案
如果我正确理解您的问题,您想使用 return 语句返回您之前回显的输出的串联字符串。
function l1category_list_func(){
$output = '';
$custom_terms = get_terms('csgroup');
foreach($custom_terms as $custom_term) {
wp_reset_query();
$args = array('post_type' => 'page', 'csgroup' => 'digital-expert-group',
// $args = array('post_type' => 'page', 'csgroup' => 'management-consultants-group',
'tax_query' => array(
array(
'taxonomy' => 'csgroup',
'field' => 'slug',
'terms' => $custom_term->slug,
),
),
);
$loop = new WP_Query($args);
if($loop->have_posts()) {
echo '<h2>'.$custom_term->name.'</h2>';
while($loop->have_posts()) : $loop->the_post();
$output .= '<a href="'.get_permalink().'">'.get_the_title().'</a><br>';
endwhile;
}
}
wp_reset_postdata();
return $output;
}
推荐阅读
- javascript - Uncaught (in promise) SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
- gnuplot - Gnuplot - 轴上的线
- solr - SOLR Solarium 我们可以使用过滤查询和 dismax 查询吗?
- sql - SQL 将行从一个表分配到另一个表
- ansible - 如何使用 ansible 清除不在列表中的任何 ufw 条目
- qt - Qt QML 有 TabButton 获取自己的索引
- linux - OpenCV:如何获取可用编解码器的列表?
- javascript - 尝试制作立方码计算器但公式不一致
- safari - Safari:重新加载后“由于访问控制检查而无法加载 Fetch API”
- angular - ControlValueAccessor 无法清除输入值