• Ik weet niet of de vraag hier gesteld kan/mag worden maar ik ga het proberen.

    Ik wil een website verhuizen. Hiervoor heb ik bij de “oude” hosting partij (Agreweb) een backup gemaakt met duplicator.

    Echter bij het importeren van de website bij mijn nieuwe hosting (STRATO) krijg ik allerlei foutmeldingen die mij niet veel zeggen.

    Ik hoop dat er hier iemand is die mij verder kan helpen

    • Dit onderwerp is gewijzigd 6 maanden geleden door goldenkamp.
14 reacties aan het bekijken - 1 tot 14 (van in totaal 14)
  • Guido

    (@guido07111975)

    Hoi,

    Kun je hier een foutmelding doorgeven? Misschien kunnen we je dan op weg helpen.

    En heb je Strato al eens gevraagd?

    Guido

    Thread starter goldenkamp

    (@goldenkamp)

    Strato heb ik gevraagd maar daar kunnen ze mij niet helpen, zeggen ze.

    Inmiddels even lokaal een webserver opgezet om de website te testen.

    Hier dezelfde foutmelding.

    Om verder te kunnen ben ik begonnen om de website opnieuw te bouwen. Dit heb ik gedaan in Artisteer. Daarna de website geexporteerd als Wordpres template en geüpload naar mijn locale server.

    Hier krijg ik de volgende fout bij het live bekijken.

    Fatal error: Uncaught ArgumentCountError: Too few arguments to function WP_Widget::__construct(), 0 passed in C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-widget-factory.php on line 62 and at least 2 expected in C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-widget.php:163 Stack trace: #0 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-widget-factory.php(62): WP_Widget->__construct() #1 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\widgets.php(115): WP_Widget_Factory->register(‘VMenuWidget’) #2 C:\xampp\htdocs\Littlecarekraamzorg\wp-content\themes\Littlecarekraamzorg\library\widgets.php(252): register_widget(‘VMenuWidget’) #3 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-hook.php(324): artWidgetsInit(”) #4 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #5 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\plugin.php(517): WP_Hook->do_action(Array) #6 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\widgets.php(1862): do_action(‘widgets_init’) #7 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-hook.php(324): wp_widgets_init(”) #8 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #9 C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\plugin.php(517): WP_Hook->do_action(Array) #10 C:\xampp\htdocs\Littlecarekraamzorg\wp-settings.php(695): do_action(‘init’) #11 C:\xampp\htdocs\Littlecarekraamzorg\wp-config.php(96): require_once(‘C:\\xampp\\htdocs…’) #12 C:\xampp\htdocs\Littlecarekraamzorg\wp-load.php(50): require_once(‘C:\\xampp\\htdocs…’) #13 C:\xampp\htdocs\Littlecarekraamzorg\wp-admin\admin.php(34): require_once(‘C:\\xampp\\htdocs…’) #14 C:\xampp\htdocs\Littlecarekraamzorg\wp-admin\customize.php(13): require_once(‘C:\\xampp\\htdocs…’) #15 {main} thrown in C:\xampp\htdocs\Littlecarekraamzorg\wp-includes\class-wp-widget.php on line 163

    Guido

    (@guido07111975)

    Hoi,

    Heeft te maken met de registratie van de widget. Je gebruikt een verouderde manier om de widget te registreren.

    WP_Widget::__construct()

    Heb je een oude versie van Artisteer gebruikt?

    Guido

    Thread starter goldenkamp

    (@goldenkamp)

    Ik gebruik Artisteer 4.0.0.58475 Stanaard versie

    Is dit code technisch op te lossen of ben ik voor niets hier mee bezig geweest?

    Guido

    (@guido07111975)

    Hoi,

    Zou je dit bestand ergens op je site kunnen zetten zodat ik er naar kan kijken?
    wp-content\themes\Littlecarekraamzorg\library\widgets.php

    En, heb je PHP versie 8.2 op je server draaien? Ik adviseer versie 8.1 omdat 8.2 nog niet door alle thema’s en plugin ondersteund wordt.

    Guido

    Thread starter goldenkamp

    (@goldenkamp)

    <?php
    // widget extra options
    global $theme_widgets_style;
    $theme_widgets_style = array(
    'default' => __('sidebar default', THEME_NS),
    'block' => __('block', THEME_NS),
    'post' => __('post', THEME_NS),
    'simple' => __('simple text', THEME_NS)
    );

    function theme_get_widget_style($id, $style = null) {

    $result = theme_get_widget_meta_option($id, 'theme_widget_styles');
    global $theme_widgets_style;
    if (!in_array($result, array_keys($theme_widgets_style))) {
    $result = 'default';
    }
    if ($style != null) {
    if (!in_array($style, array('block', 'post', 'simple'))) {
    $style = 'block';
    }
    if ($result == 'default') {
    $result = $style;
    }
    }
    return $result;
    }

    function theme_set_widget_style($id, $style) {
    global $theme_widgets_style;
    if (!in_array($style, array_keys($theme_widgets_style))) {
    $style = 'default';
    }
    theme_set_widget_meta_option($id, 'theme_widget_styles', $style);
    }

    function theme_widget_expand_control($id) {
    global $wp_registered_widget_controls;
    $controls = &$wp_registered_widget_controls[$id];
    $controls['params'][] = $id;
    if (isset($controls['callback'])) {
    $controls['callback_redirect'] = $controls['callback'];
    }
    $controls['callback'] = 'theme_widget_extra_control';
    }

    function theme_update_widget_additional($instance) {
    global $theme_widget_meta_options;
    foreach ($theme_widget_meta_options as $value) {
    $id = theme_get_array_value($value, 'id');
    if( false === ( $val = theme_get_array_value($_POST, $id) ) ) {
    continue;
    }
    $val = stripslashes($val);
    $type = theme_get_array_value($value, 'type');
    $options = theme_get_array_value($value, 'options');
    switch ($type) {
    case 'checkbox':
    $val = ($val ? 1 : 0);
    break;
    case 'numeric':
    $val = (int) $val;
    break;
    case 'select':
    if (!in_array($val, array_keys($options))) {
    $val = reset(array_keys($options));
    }
    break;
    }
    $instance[$id] = $val;
    }
    return $instance;
    }
    function theme_widget_process_control() {
    global $wp_registered_widget_controls;
    if ('post' == strtolower($_SERVER['REQUEST_METHOD']) && isset($_POST['widget-id'])) {
    theme_widget_expand_control($_POST['widget-id']);
    return;
    }
    foreach ($wp_registered_widget_controls as $id => $widget) {
    theme_widget_expand_control($id);
    }
    }

    function theme_widget_extra_control() {
    global $wp_registered_widget_controls, $theme_widgets_style, $theme_widget_meta_options;
    $_theme_widget_meta_options = $theme_widget_meta_options;
    $params = func_get_args();
    $widget_id = $params[count($params) - 1];
    $widget_controls = theme_get_array_value($wp_registered_widget_controls, $widget_id, array());
    if (isset($widget_controls['callback_redirect'])) {
    $callback = $widget_controls['callback_redirect'];
    if (is_callable($callback)) {
    call_user_func_array($callback, $params);
    }
    }
    if (!preg_match('/^(.*[^-])-([0-9]+)$/', $widget_id, $matches) || !isset($matches[1]) || !isset($matches[2])) {
    return false;
    }
    $id = $matches[1] . '-' . $params[0]['number'];

    ?>
    <h3 style="margin-bottom:3px;"><?php _e('Theme Options', THEME_NS); ?></h3>
    <?php
    theme_print_meta_box($id, $_theme_widget_meta_options);
    }

    // widgets

    class VMenuWidget extends WP_Widget {

    function VMenuWidget() {
    $widget_ops = array('classname' => 'vmenu', 'description' => __('Use this widget to add one of your custom menus as a widget.', THEME_NS));
    parent::WP_Widget(false, __('Vertical Menu', THEME_NS), $widget_ops);
    }

    function widget($args, $instance) {
    extract($args);
    $title = apply_filters('widget_title', $instance['title'], $instance, $this->id_base);
    echo $before_widget;
    echo $before_title . $title . $after_title;
    echo theme_get_menu(array(
    'source' => $instance['source'],
    'depth' => theme_get_option('theme_vmenu_depth'),
    'menu' => wp_get_nav_menu_object($instance['nav_menu']),
    'class' => ''
    ));
    echo $after_widget;
    }

    function update($new_instance, $old_instance) {
    $instance['title'] = strip_tags($new_instance['title']);
    $instance['source'] = $new_instance['source'];
    $instance['nav_menu'] = (int) $new_instance['nav_menu'];
    return $instance;
    }

    function form($instance) {
    //Defaults
    $instance = wp_parse_args((array) $instance, array('title' => '', 'source' => 'Pages', 'nav_menu' => ''));
    $title = esc_attr($instance['title']);
    $source = $instance['source'];
    $nav_menu = $instance['nav_menu'];

    // Get menus
    $menus = get_terms('nav_menu', array('hide_empty' => false));
    $sources = array('Pages', 'Categories', 'Custom Menu');
    ?>
    <p>
    <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:', THEME_NS) ?></label>
    <input type="text" class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" value="<?php echo $title; ?>" />
    </p>
    <p>
    <label for="<?php echo $this->get_field_id('source'); ?>"><?php echo __('Source', THEME_NS) . ':'; ?></label>
    <select class="widefat" id="<?php echo $this->get_field_id('source'); ?>" name="<?php echo $this->get_field_name('source'); ?>" onchange="var s = jQuery('.p-<?php echo $this->get_field_id('nav_menu'); ?>'); if (this.value == 'Custom Menu') s.show(); else s.hide();">
    <?php
    foreach ($sources as $s) {
    $selected = ($source == $s ? ' selected="selected"' : '');
    echo '<option' . $selected . ' value="' . $s . '">' . __($s, THEME_NS) . '</option>';
    }
    ?>
    </select>
    </p>
    <p class="p-<?php echo $this->get_field_id('nav_menu'); ?>" <?php if ($source !== 'Custom Menu') echo ' style="display:none"' ?>>
    <?php
    // If no menus exists, direct the user to go and create some.
    if (!$menus) {
    printf(__('No menus have been created yet. <a href="%s">Create some</a>.', THEME_NS), admin_url('nav-menus.php'));
    } else {
    ?>
    <label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:', THEME_NS); ?></label><br />
    <select class="widefat" id="<?php echo $this->get_field_id('nav_menu'); ?>" name="<?php echo $this->get_field_name('nav_menu'); ?>">
    <?php
    foreach ($menus as $menu) {
    $selected = $nav_menu == $menu->term_id ? ' selected="selected"' : '';
    echo '<option' . $selected . ' value="' . $menu->term_id . '">' . $menu->name . '</option>';
    }
    ?>
    </select>
    <?php
    }
    ?>
    </p>
    <?php
    }

    }

    class LoginWidget extends WP_Widget {

    function LoginWidget() {
    $widget_ops = array('classname' => 'login', 'description' => __('Login form', THEME_NS));
    $this->WP_Widget(false, __('Login', THEME_NS), $widget_ops);
    }

    function widget($args, $instance) {
    global $user_ID, $user_identity, $user_level, $user_email, $user_login;
    extract($args);
    echo $before_widget;
    echo $before_title;
    if ($user_ID):
    echo $user_identity;
    echo $after_title;
    echo theme_get_avatar(array('id' => $user_email, 'size' => 64, 'url' => get_bloginfo('wpurl') . '/wp-admin/profile.php'));
    ?>
    <ul class="alignleft">
    <li><a href="<?php bloginfo('wpurl') ?>/wp-admin/"><?php _e('Dashboard', THEME_NS); ?></a></li>
    <?php if ($user_level >= 1): ?>
    <li><a href="<?php bloginfo('wpurl') ?>/wp-admin/post-new.php"><?php _e('Publish', THEME_NS); ?></a></li>
    <li><a href="<?php bloginfo('wpurl') ?>/wp-admin/edit-comments.php"><?php _e('Comments', THEME_NS); ?></a></li>
    <?php endif; ?>
    <li><a href="<?php echo wp_logout_url() ?>&amp;redirect_to=<?php echo urlencode(theme_get_current_url()); ?>"><?php _e("Log out", THEME_NS); ?></a></li>
    </ul>
    <?php
    else:
    _e('Log In', THEME_NS);
    echo $after_title;
    ?>
    <form action="<?php bloginfo('wpurl') ?>/wp-login.php" method="post" name="login" id="form-login">
    <fieldset class="input" style="border: 0 none;">
    <p id="form-login-username">
    <label for="log"><?php _e('Username', THEME_NS) ?></label>
    <br>
    <input type="text" name="log" id="log" value="<?php echo esc_attr(stripslashes($user_login), 1) ?>" size="20" />
    </p>
    <p id="form-login-password">
    <label for="pwd"><?php _e("Password", THEME_NS); ?></label>
    <br>
    <input type="password" name="pwd" id="pwd" size="20" /><br />
    </p>
    <p id="form-login-remember">
    <label for="rememberme"><?php _e('Remember Me', THEME_NS); ?></label>
    <input name="rememberme" id="rememberme" type="checkbox" checked="checked" value="forever" />
    </p>
    <input class="art-button" type="submit" name="submit" value="<?php echo esc_attr(__('Log In', THEME_NS)); ?>" />
    </fieldset>
    <input type="hidden" name="redirect_to" value="<?php echo theme_get_current_url(); ?>"/>
    </form>
    <ul>
    <?php if (get_option('users_can_register')) { ?>
    <li><a href="<?php bloginfo('wpurl') ?>/wp-register.php"><?php _e("Register", THEME_NS); ?></a></li>
    <?php } ?>
    <li><a href="<?php bloginfo('wpurl') ?>/wp-login.php?action=lostpassword"><?php _e("Lost your password?", THEME_NS); ?></a></li>
    </ul>
    <?php endif;
    echo $after_widget;
    }
    }

    // init widgets
    function artWidgetsInit() {
    register_widget('VMenuWidget');
    register_widget('LoginWidget');
    }

    add_action('widgets_init', 'artWidgetsInit');
    Thread starter goldenkamp

    (@goldenkamp)

    En PHP-versie: 8.0.30

    Guido

    (@guido07111975)

    Hoi,

    Inderdaad oude widget code. Jouw versie van Artisteer is volgens mij ook al oud.

    Zoek naar:

      function VMenuWidget() {

      Verander in:

      public function __construct() {

      Zoek naar:

      parent::WP_Widget(false, __('Vertical Menu', THEME_NS), $widget_ops);

      Verander in:

      parent::__construct( false, __('Vertical Menu', THEME_NS), $widget_ops );

      Zoek naar:

      function LoginWidget() {

      Verander in:

      public function __construct() {

      Zoek naar:

      $this->WP_Widget(false, __('Login', THEME_NS), $widget_ops);

      Verander in:

      parent::__construct( false, __('Login', THEME_NS), $widget_ops );
      Thread starter goldenkamp

      (@goldenkamp)

      Even voor de duidelijkheid:

      Dit staat allemaal in de code die ik geplaatst heb?

      Volgens mij is de artisteer die ik gebruik 1 van de laatste versies

      Weet jij wat de nieuwste versie is? of is er een ander mooi programma om templates in te bouwen?

      • Deze reactie is gewijzigd 6 maanden geleden door goldenkamp.
      Guido

      (@guido07111975)

      Hoi,

      Dit staat allemaal in de code die ik geplaatst heb?

      Jazeker, als je deze wijzigingen doorvoert zouden die widget gerelateerde fouten weg moeten zijn.

      Weet jij wat de nieuwste versie is? 

      Volgens hun site is het nu versie 4.3 maar ik heb er geen ervaring mee.

      Guido

      Thread starter goldenkamp

      (@goldenkamp)

      Dank, hij laat nu in ieder geval. Al is het nog lang niet wat ik verwacht.

      Dit is zoals de site eruit ziet op de website

      terwijl hij er zo uitziet in Artisteer

      Waarschijnlijk dus nog veel meer “bagger” in de code van artisteer.

      Hoi,

      Artisteer is voor zover ik kan nagaan al heel wat jaren niet geüpdatet. Daarnaast gebruik jij niet de meest recente versie. WordPress wordt wel doorontwikkeld met als gevolg dat Artisteer verouderd.

      Ogv de foutmeldingen zou je het template kunnen updaten / fixen. Maar als jij veel verschillende foutmeldingen krijgt, is dat veel werk.

      Guido

      Thread starter goldenkamp

      (@goldenkamp)

      Het fixen gaat hem niet worden denk ik. Daarvoor heb ik te weinig kennis.

      Zal wel eens kijken of ik op een andere manier een template kan maken.

      Jij nog suggesties?

      Hoi,

      Een bestaand thema icm de standaard (blok) editor voor je pagina content is geen optie? Ik gebruik altijd het thema GeneratePress.

      Guido

    14 reacties aan het bekijken - 1 tot 14 (van in totaal 14)