我创建了一个自定义的elementor小部件。我想在每次创建一个新的小部件时在render()函数中获取data-id。我如何才能做到这一点?
下面是render函数的代码:
protected function render() {
global $wp_query;
global $post;
$this->print_unescaped_setting( 'custom_html' );
$settings = $this->get_settings_for_display();
$str = $settings['custom_php'];
eval("$str");
if(! empty ($settings['custom_function_php'] ) ){
$str_php = $settings['custom_function_php'];
//Get data-id
$namepage = 'phpFile-' . get_the_ID() . '.php';
$this->creat_file( $namepage, $str_php);
require_once ( __DIR__ . '/' . $namepage );
}
}
1条答案
按热度按时间cbjzeqam1#
在render()函数内部,你可以调用**get_id()**方法,例如我使用它来实现:
输出
get_id()在其他有趣的方法中使用,你可以调用,在这里查看文件内部:elementor/includes/base/element-base.php
这是呈现类名。。
这是他们写data-id的地方...
...这将返回一个数组,其中包含要分析的各种数据...