WP 短代码忽略传递的值
WP shortcode is ignoring passed value
WP_Query 在简码中忽略传递的值
几个小时以来一直在努力让它工作。无论我做什么,WP 都使用默认值并忽略传递给函数的值。
// Add Shortcode
function ima_featured_member( $atts ) {
// Attributes
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$atts,
'featured'
);
$dirloop = new WP_Query( array(
'post_type' => 'member',
'post_status' => 'publish',
'posts_per_page' => $attributes['numb'],
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array (
'relation' => 'AND',
array (
'key' => 'elc_member_featured',
'value' => '1',
'compare' => '=='
)
)
));
if ($dirloop->have_posts())
{
$output = "\n";
while ( $dirloop->have_posts() ) : $dirloop->the_post();
$output .= ''.get_the_title().'';
endwhile;
$output .= "\n";
}
else
{
$output = "nothing";
}
wp_reset_postdata();
return $output;
}
add_shortcode( 'featured', 'ima_featured_member' );
[featured = '2'] 没有通过。没有错误,没有警告,只是不起作用。非常感谢任何帮助或现场。
为了工作,您需要对此进行一些更改。
更改以下代码:
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$atts,
'featured'
);
至
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$attributes,
'featured'
);
另外,对于获取 2 个帖子的简码,您应该编写如下简码:
[featured numb='2']
这应该适合你。
函数的 shortcode_atts
部分似乎没问题。
但是调用参数 numb
为 2
的简码的正确方法是:
[featured numb='2']
而不是
[featured = '2']
WP_Query 在简码中忽略传递的值
几个小时以来一直在努力让它工作。无论我做什么,WP 都使用默认值并忽略传递给函数的值。
// Add Shortcode
function ima_featured_member( $atts ) {
// Attributes
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$atts,
'featured'
);
$dirloop = new WP_Query( array(
'post_type' => 'member',
'post_status' => 'publish',
'posts_per_page' => $attributes['numb'],
'orderby' => 'title',
'order' => 'ASC',
'meta_query' => array (
'relation' => 'AND',
array (
'key' => 'elc_member_featured',
'value' => '1',
'compare' => '=='
)
)
));
if ($dirloop->have_posts())
{
$output = "\n";
while ( $dirloop->have_posts() ) : $dirloop->the_post();
$output .= ''.get_the_title().'';
endwhile;
$output .= "\n";
}
else
{
$output = "nothing";
}
wp_reset_postdata();
return $output;
}
add_shortcode( 'featured', 'ima_featured_member' );
[featured = '2'] 没有通过。没有错误,没有警告,只是不起作用。非常感谢任何帮助或现场。
为了工作,您需要对此进行一些更改。
更改以下代码:
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$atts,
'featured'
);
至
$attributes = shortcode_atts(
array(
'numb' => '1',
),
$attributes,
'featured'
);
另外,对于获取 2 个帖子的简码,您应该编写如下简码:
[featured numb='2']
这应该适合你。
函数的 shortcode_atts
部分似乎没问题。
但是调用参数 numb
为 2
的简码的正确方法是:
[featured numb='2']
而不是
[featured = '2']