Jump to content

rmc-dj

New Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by rmc-dj

  1. Hello there. I'm a web designer trying to learn more development skills. I've written this opening hours widget for wordpress. Its functionality is very simple which is all I really need and it does the job, however I'd love to know how to make the code smaller as there are lots of thing repeating. I think parts of it could be done using a for each loop and arrays, but I can't figure out what way to do it. If anyone can help or point me in the right direction for what topic specifically to study I would be very grateful. Please see code below. Sorry if its really badly written,

     

    /**
    * Creating and displaying an Opening Times Widget
    */
    wp_register_sidebar_widget(
    'opening_times_widget',          // your unique widget id
    'Opening Times',                 // widget name
    'opening_times_widget_display',  // callback function to display widget
    array(                      // options
     'description' => 'This widget displays your opening hours in your website sidebar'
    )
    );
    
    
    wp_register_widget_control(
    'opening_times_widget',  // id
    'opening_times_widget',  // name
    'opening_times_widget_control' // callback function
    );
    
    
    
    function opening_times_widget_control($args=array(), $params=array()) {
    //the form is submitted, save into database
    if (isset($_POST['submitted'])) {
     update_option('opening_times_widget_title', $_POST['widgettitle']);
     update_option('opening_times_widget_email', $_POST['widgetemail']);
     update_option('opening_times_widget_description', $_POST['description']);
     update_option('opening_times_widget_monday', $_POST['mondayhours']);
     update_option('opening_times_widget_tuesday', $_POST['tuesdayhours']);
     update_option('opening_times_widget_wednesday', $_POST['wednesdayhours']);
     update_option('opening_times_widget_thursday', $_POST['thursdayhours']);
     update_option('opening_times_widget_friday', $_POST['fridayhours']);
     update_option('opening_times_widget_saturday', $_POST['saturdayhours']);
     update_option('opening_times_widget_sunday', $_POST['sundayhours']);
    }
    //load options
    $widgettitle = get_option('opening_times_widget_title');
    $widgetemail = get_option('opening_times_widget_email');
    $description = get_option('opening_times_widget_description');
    $mondayhours = get_option('opening_times_widget_monday');
    $tuesdayhours = get_option('opening_times_widget_tuesday');
    $wednesdayhours = get_option('opening_times_widget_wednesday');
    $thursdayhours = get_option('opening_times_widget_thursday');
    $fridayhours = get_option('opening_times_widget_friday');
    $saturdayhours = get_option('opening_times_widget_saturday');
    $sundayhours = get_option('opening_times_widget_sunday');
    ?>
    
    
    Widget Title: ( eg: Opening Hours )<br />
    <input type="text" class="widefat" name="widgettitle" value="<?php echo stripslashes($widgettitle); ?>" />
    <br /><br />
    Monday<br />
    <input type="text" class="widefat" name="mondayhours" value="<?php echo stripslashes($mondayhours); ?>" />
    <br /><br />
    Tuesday<br />
    <input type="text" class="widefat" name="tuesdayhours" value="<?php echo stripslashes($tuesdayhours); ?>" />
    <br /><br />
    Wednesday<br />
    <input type="text" class="widefat" name="wednesdayhours" value="<?php echo stripslashes($wednesdayhours); ?>" />
    <br /><br />
    Thursday<br />
    <input type="text" class="widefat" name="thursdayhours" value="<?php echo stripslashes($thursdayhours); ?>" />
    <br /><br />
    Friday<br />
    <input type="text" class="widefat" name="fridayhours" value="<?php echo stripslashes($fridayhours); ?>" />
    <br /><br />
    Saturday<br />
    <input type="text" class="widefat" name="saturdayhours" value="<?php echo stripslashes($saturdayhours); ?>" />
    <br /><br />
    Sunday<br />
    <input type="text" class="widefat" name="sundayhours" value="<?php echo stripslashes($sundayhours); ?>" />
    <br /><br />
    Additional Information:<br />
    <textarea class="widefat" rows="5" name="description"><?php echo stripslashes($description); ?></textarea>
    <br /><br />
    Email Address:<br />
    <input type="text" class="widefat" name="widgetemail" value="<?php echo stripslashes($widgetemail); ?>" />
    <br /><br />
    <input type="hidden" name="submitted" value="1" />
    <?php
    }
    
    
    function opening_times_widget_display($args=array(), $params=array()) {
    //load options
    $widgettitle = get_option('opening_times_widget_title');
    $description = get_option('opening_times_widget_description');
    $widgetemail = get_option('opening_times_widget_email');
    $mondayhours = get_option('opening_times_widget_monday');
    $tuesdayhours = get_option('opening_times_widget_tuesday');
    $wednesdayhours = get_option('opening_times_widget_wednesday');
    $thursdayhours = get_option('opening_times_widget_thursday');
    $fridayhours = get_option('opening_times_widget_friday');
    $saturdayhours = get_option('opening_times_widget_saturday');
    $sundayhours = get_option('opening_times_widget_sunday');
    //widget output
    echo stripslashes($args['before_widget']);
    echo stripslashes($args['before_title']);
    echo stripslashes($widgettitle).'<span class="opening-hours-icon"> </span>';
    echo stripslashes($args['after_title']);
    
    echo '<div class="textwidget">';
    
    if ($mondayhours != '') {
     echo '<div class="opening-hours-day-info">Monday: <span>'.stripslashes($mondayhours).'</span></div>';
    }
    if ($tuesdayhours != '') {
     echo '<div class="opening-hours-day-info">Tuesday: <span>'.stripslashes($tuesdayhours).'</span></div>';
    }
    if ($wednesdayhours != '') {
     echo '<div class="opening-hours-day-info">Wednesday: <span>'.stripslashes($wednesdayhours).'</span></div>';
    }
    if ($thursdayhours != '') {
     echo '<div class="opening-hours-day-info">Thursday: <span>'.stripslashes($thursdayhours).'</span></div>';
    }
    if ($fridayhours != '') {
     echo '<div class="opening-hours-day-info">Friday: <span>'.stripslashes($fridayhours).'</span></div>';
    }
    if ($saturdayhours != '') {
     echo '<div class="opening-hours-day-info">Saturday: <span>'.stripslashes($saturdayhours).'</span></div>';
    }
    if ($sundayhours != '') {
     echo '<div class="opening-hours-day-info">Sunday: <span>'.stripslashes($sundayhours).'</span></div>';
    }
    
    echo '<div class="opening-hours-description">'.stripslashes(nl2br($description)).'</div>';
    
    if ($widgetemail != '') {
     echo '<div class="opening-hours-email"><a href="mailto:'.stripslashes($widgetemail).'" target="_blank">Email us</a> to arrange an appointment</div>';
    }
    echo '</div>';//close div.textwidget
    echo stripslashes($args['after_widget']);
    }
    

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.