askdesign
12/15/2016 - 2:32 AM

Simplifying the code for registering multiple widget areas in Genesis

December 14, 2016 by Sridhar Katakam

// The above is the same as:
genesis_register_widget_area(
    array(
        'id'          => "front-page-1",
        'name'        => __( "Front Page 1", 'my-theme-text-domain' ),
        'description' => __( "This is the front page 1 section.", 'my-theme-text-domain' ),
    )
);
 
genesis_register_widget_area(
    array(
        'id'          => "front-page-2",
        'name'        => __( "Front Page 2", 'my-theme-text-domain' ),
        'description' => __( "This is the front page 2 section.", 'my-theme-text-domain' ),
    )
);
 
genesis_register_widget_area(
    array(
        'id'          => "front-page-3",
        'name'        => __( "Front Page 3", 'my-theme-text-domain' ),
        'description' => __( "This is the front page 3 section.", 'my-theme-text-domain' ),
    )
);
 
genesis_register_widget_area(
    array(
        'id'          => "front-page-4",
        'name'        => __( "Front Page 4", 'my-theme-text-domain' ),
        'description' => __( "This is the front page 4 section.", 'my-theme-text-domain' ),
    )
);
// Register front-page widget areas
for ( $i = 1; $i <= 4; $i++ ) {
    genesis_register_widget_area(
        array(
            'id'          => "front-page-{$i}",
            'name'        => __( "Front Page {$i}", 'my-theme-text-domain' ),
            'description' => __( "This is the front page {$i} section.", 'my-theme-text-domain' ),
        )
    );
}

// Anne's note: The above looks a lot like the Javascript code we learned at Girl IT in Nov. 2016