Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 必须是数组类型,字符串给定_Php_Wordpress_Elementor - Fatal编程技术网

Php 必须是数组类型,字符串给定

Php 必须是数组类型,字符串给定,php,wordpress,elementor,Php,Wordpress,Elementor,我正在尝试创建一个自定义elementor小部件;但是,“添加链接”属性似乎不支持链接的字符串。当出现以下错误时: Must be of the type array, string given 如何将保存在$course_link turn中的字符串转换为“类型数组” protected function render() { $settings = $this->get_settings_for_display(); $current_user = w

我正在尝试创建一个自定义elementor小部件;但是,“添加链接”属性似乎不支持链接的字符串。当出现以下错误时:

Must be of the type array, string given
如何将保存在$course_link turn中的字符串转换为“类型数组”

protected function render() {
        $settings = $this->get_settings_for_display();
        $current_user = wp_get_current_user();
        $course_link = get_post_permalink( $settings['training']); 

        $this->add_render_attribute( 'wrapper', 'class', 'elementor-button-wrapper' );

        //Als gebruiker géén toegang heeft tot de training plaats saleslink
        if (get_user_meta( $current_user->ID, 'course_' . $settings['training'] . '_access_from' , true ) || current_user_can('administrator')) {
            $this->add_link_attributes( 'button', $course_link );
            $this->add_render_attribute( 'button', 'class', 'elementor-button-link' );          
        }
        elseif ( ! empty( $settings['sales-link']['url'] ) && !get_user_meta( $current_user->ID, 'course_' . $settings['training'] . '_access_from' , true )) { 
            $this->add_link_attributes( 'button', $settings['sales-link'] );
            $this->add_render_attribute( 'button', 'class', 'elementor-button-link' );
        }

        if ( ! empty( $settings['size'] ) ) {
            $this->add_render_attribute( 'button', 'class', 'elementor-size-' . $settings['size'] );
        }

        $this->add_render_attribute( 'button', 'class', 'elementor-button' );
        $this->add_render_attribute( 'button', 'role', 'button' );

        if ( $settings['hover_animation'] ) {
            $this->add_render_attribute( 'button', 'class', 'elementor-animation-' . $settings['hover_animation'] );
        }

        ?>
        <div <?php echo $this->get_render_attribute_string( 'wrapper' ); ?>>
            <a <?php echo $this->get_render_attribute_string( 'button' ); ?>>
                <?php $this->render_text(); ?>
            </a>
        </div>
        <?php 
    }
受保护的函数render(){
$settings=$this->get_settings_for_display();
$current_user=wp_get_current_user();
$course\u link=get\u post\u permalink($settings['training');
$this->add_render_属性('wrapper','class','elementor button wrapper');
//Als gebruiker gén toegang heeft tot de training plaats saleslink
如果(获取用户元($current\u user->ID,'course'.$settings['training'].'u access\u from',true)|当前用户可以('administrator')){
$this->添加链接属性('button',$course\u link);
$this->add_render_属性('button','class','elementor button link');
}
elseif(!empty($settings['sales-link']['url'])和&!get_user_meta($current_user->ID,'course'.$settings['training'].\u access_from',true)){
$this->添加链接属性('button',$settings['sales-link']);
$this->add_render_属性('button','class','elementor button link');
}
如果(!empty($settings['size'])){
$this->add_render_属性('button','class','elementor size-'。$settings['size']);
}
$this->add_render_属性('button','class','elementor button');
$this->add_render_属性('button','role','button');
如果($settings['hover_animation'])){
$this->add_render_属性('button','class','elementor animation-'。$settings['hover_animation']);
}
?>
>
>

您可以将
typecast
a
string
(或任何内容)转换为
数组
,如下所示:

$course_link = (array) $course_link;
因此,在函数中,您可以编辑第四行:

$course_link = (array) get_post_permalink( $settings['training'] );
或者第八行:

$this->add_link_attributes( 'button', (array) $course_link );
在这里你可以阅读