Tôi đang cố gắng để có được giá trị đầu vào của một shortcode bên trong một hàm được sử dụng bởi bộ lọc, nhưng dường như không có thành công. Đây là những gì tôi đã làm:
function my_shortcode_function($atts){
$value = $atts['id'];
function filter_value(){
echo $value;
}
add_filter('posts_where','filter_value');
}
add_shortcode('my-shortcode','my_shortcode_function');
Bây giờ tôi biết sử dụng $value
bên trong filter_value()
sẽ không hoạt động vì phạm vi thay đổi, nhưng thậm chí sử dụng $GLOBALS['value']
không hoạt động.
Tôi thậm chí đã thử sử dụng $value = $atts['id']
bên trong filter_value();
nhưng cũng không thành công.
Làm cách nào tôi có thể sử dụng shortcode của mình như thế nào [my-shortcode id='123']
và chuyển giá trị 123 vào bộ lọc?
Cảm ơn.
$GLOBALS['value'] = some value
và sau đó gọi$GLOBALS['value']
nó thì nó hoạt động, nhưng nếu tôi đặt giá trị trực tiếp$value = some value
và sau đó gọi nó bằng cách sử dụng$GLOBALS['value']
thì nó không hoạt động, trong khi nó sẽ hoạt động theo hướng dẫn PHP.