So a site I am working on for a client, http://atasteofartistry.com, needs to have EventBrite integration. It is a wordpress install running a Genesis theme.
Right now, in functions.php, I have this:
//* EventBrite
require 'Eventbrite.php';
$eb_client = new Eventbrite( array('app_key'=>'(REDACTED)',
'user_key'=>'(REDACTED)'));
$arr = array('user'=>'atasteofartistry#gmail.com',
'event_statuses'=>'live,started'
);
e$events = $eb_client->user_list_events($arr);
and I have the call in a widget listed like this:
<h1>My Event List:</h1>
<?= Eventbrite::eventList( $events, 'eventListRow'); ?>
</div>
On the site, I am not getting the events. The Eventbrite.php API client is initializing, because I get the "No Events" message, but I just cannot pass anything through to it.
I've been staring at it for 8 hours now and need help. So HELP!
I'm using the Eventbrite PHP library from Github.
https://github.com/ryanjarvinen/eventbrite.php
How to fix it would be great, but I can't even figure out how to troubleshoot it.
Many thanks,
Joe
FUNCTIONS.PHP
<?php
//* Start the engine
include_once( get_template_directory() . '/lib/init.php' );
//* Setup Theme
include_once( get_stylesheet_directory() . '/lib/theme-defaults.php' );
//* EventBrite
require 'Eventbrite.php';
add_action( 'genesis_before', 'eventbrite_event_list');
function eventbrite_event_list() {
$eb_client = new Eventbrite( array('app_key'=>'ECOC6TZS3JJVXLJ2MX',
'user_key'=>'1409014384112928178221'));
$arr = array('user'=>'atasteofartistry#gmail.com',
'event_statuses'=>'live,started'
);
try {
$events = $eb_client->user_list_events();
} catch ( Exception $e ) {
// Be sure to plan for potential error cases
// so that your application can respond appropriately
//var_dump($e);
$events = array();
}
}
//* Set Localization (do not remove)
load_child_theme_textdomain( 'daily-dish', apply_filters( 'child_theme_textdomain', get_stylesheet_directory() . '/languages', 'daily-dish' ) );
//* Child theme (do not remove)
define( 'CHILD_THEME_NAME', __( 'Daily Dish Pro Theme', 'daily-dish' ) );
define( 'CHILD_THEME_URL', 'http://my.studiopress.com/themes/daily-dish/' );
define( 'CHILD_THEME_VERSION', '1.0' );
//* Enqueue scripts and styles
add_action( 'wp_enqueue_scripts', 'daily_dish_enqueue_scripts_styles' );
function daily_dish_enqueue_scripts_styles() {
wp_enqueue_script( 'daily-dish-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_style( 'dashicons' );
wp_enqueue_style( 'daily-dish-google-fonts', '//fonts.googleapis.com/css?family=Lato:400,700,900|Playfair+Display:400|Tangerine:400,700', array(), CHILD_THEME_VERSION );
}
add_filter( 'genesis_seo_title', 'custom_genesis_seo_title', 10, 1 );
/**
* Replace Site Title text entered in Settings > Reading with custom HTML.
* #author Sridhar Katakam
* #link http://sridharkatakam.com/replace-site-title-text-custom-html-genesis/
*
* #param string original title text
* #return string modified title HTML
*/
function custom_genesis_seo_title( $title ) {
$title = '<h1 itemprop="headline" class="site-title"><a title="Homepage" href="' . get_bloginfo('url') . '">a taste of <span class="artistry">ARTISTRY</span></a></h1>';
return $title;
}
//* Add HTML5 markup structure
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list', 'gallery', 'caption', ) );
//* Add viewport meta tag for mobile browsers
add_theme_support( 'genesis-responsive-viewport' );
//* Add support for custom background
add_theme_support( 'custom-background', array(
'default-attachment' => 'fixed',
'default-color' => 'ffffff',
'default-image' => get_stylesheet_directory_uri() . '/images/bg.png',
'default-repeat' => 'repeat',
'default-position-x' => 'left',
) );
//* Add new image sizes
add_image_size( 'daily-dish-featured', 720, 470, TRUE );
add_image_size( 'daily-dish-archive', 340, 200, TRUE );
add_image_size( 'daily-dish-sidebar', 100, 100, TRUE );
//* Add support for custom header
add_theme_support( 'custom-header', array(
'header-selector' => '.site-title a',
'header-text' => false,
'height' => 80,
'width' => 400,
) );
/** Enable shortcodes to be used in widgets */
add_filter( 'widget_text', 'shortcode_unautop');
add_filter( 'widget_text', 'do_shortcode');
//* Unregister the header right widget area
unregister_sidebar( 'header-right' );
//* Remove navigation meta box
add_action( 'genesis_theme_settings_metaboxes', 'daily_dish_remove_genesis_metaboxes' );
function daily_dish_remove_genesis_metaboxes( $_genesis_theme_settings_pagehook ) {
remove_meta_box( 'genesis-theme-settings-nav', $_genesis_theme_settings_pagehook, 'main' );
}
//* Remove output of primary navigation right extras
remove_filter( 'genesis_nav_items', 'genesis_nav_right', 10, 2 );
remove_filter( 'wp_nav_menu_items', 'genesis_nav_right', 10, 2 );
//* Reposition the secondary navigation menu
remove_action( 'genesis_after_header', 'genesis_do_subnav' );
add_action( 'genesis_before_header', 'genesis_do_subnav' );
//* Hook before header widget area above header
add_action( 'genesis_before', 'daily_dish_before_header' );
function daily_dish_before_header() {
genesis_widget_area( 'before-header', array(
'before' => '<div class="before-header" class="widget-area"><div class="wrap">',
'after' => '</div></div>',
) );
}
add_theme_support( 'genesis-structural-wraps', array(
'header',
'nav',
'subnav',
'site-inner',
'footer-widgets',
'footer'
) );
//* Customize the entry meta in the entry header
add_filter( 'genesis_post_info', 'daily_dish_single_post_info_filter' );
function daily_dish_single_post_info_filter( $post_info ) {
$post_info = '[post_date] [post_author_posts_link] [post_comments] [post_edit]';
return $post_info;
}
//* Customize the entry meta in the entry footer
add_filter( 'genesis_post_meta', 'daily_dish_post_meta_filter' );
function daily_dish_post_meta_filter($post_meta) {
$post_meta = '[post_categories before=""] [post_tags before=""]';
return $post_meta;
}
//* Remove comment form allowed tags
add_filter( 'comment_form_defaults', 'daily_dish_remove_comment_form_allowed_tags' );
function daily_dish_remove_comment_form_allowed_tags( $defaults ) {
$defaults['comment_notes_after'] = '';
return $defaults;
}
//* Walled Garden
// function walled_garden()
// {
// if( ! is_user_logged_in() )
// wp_redirect( '/wp-login.php' );
// }
// add_action( 'get_header', 'walled_garden' );
//* Add images to Site Header
add_action( 'genesis_site_title','add_header_images',8);
function add_header_images() {
?>
<span><img src="../wp-content/themes/daily-dish-pro/images/wine-glass.png" class="header-glass" /></span>
<span><img src="../wp-content/themes/daily-dish-pro/images/splatter.png" class="splatter" /></span>
<?php
}
//* Modify the size of the Gravatar in the author box
add_filter( 'genesis_author_box_gravatar_size', 'daily_dish_author_box_gravatar' );
function daily_dish_author_box_gravatar( $size ) {
return 180;
}
//* Modify the size of the Gravatar in the entry comments
add_filter( 'genesis_comment_list_args', 'daily_dish_comments_gravatar' );
function daily_dish_comments_gravatar( $args ) {
$args['avatar_size'] = 96;
return $args;
}
//* Hook before footer widget area below footer widgets
add_action( 'genesis_before_footer', 'daily_dish_before_footer_widgets', 5 );
function daily_dish_before_footer_widgets() {
genesis_widget_area( 'before-footer-widgets', array(
'before' => '<div class="before-footer-widgets" class="widget-area"><div class="wrap">',
'after' => '</div></div>',
) );
}
//* Hook after footer widget area below footer
add_action( 'genesis_after', 'daily_dish_after_footer' );
function daily_dish_after_footer() {
genesis_widget_area( 'after-footer', array(
'before' => '<div class="after-footer" class="widget-area"><div class="wrap">',
'after' => '</div></div>',
) );
}
//* Add support for 3-column footer widgets
add_theme_support( 'genesis-footer-widgets', 3 );
//* Add support for after entry widget
add_theme_support( 'genesis-after-entry-widget-area' );
//* Relocate after entry widget
remove_action( 'genesis_after_entry', 'genesis_after_entry_widget_area' );
add_action( 'genesis_after_entry', 'genesis_after_entry_widget_area', 5 );
//* Register widget areas
genesis_register_sidebar( array(
'id' => 'before-header',
'name' => __( 'Before Header', 'daily-dish' ),
'description' => __( 'This is the before header widget area.', 'daily-dish' ),
) );
genesis_register_sidebar( array(
'id' => 'home-top',
'name' => __( 'Home - Top', 'daily-dish' ),
'description' => __( 'This is the top section of the homepage.', 'daily-dish' ),
) );
genesis_register_sidebar( array(
'id' => 'home-middle',
'name' => __( 'Home - Middle', 'daily-dish' ),
'description' => __( 'This is the middle section of the homepage.', 'daily-dish' ),
) );
genesis_register_sidebar( array(
'id' => 'home-bottom',
'name' => __( 'Home - Bottom', 'daily-dish' ),
'description' => __( 'This is the bottom section of the homepage.', 'daily-dish' ),
) );
genesis_register_sidebar( array(
'id' => 'before-footer-widgets',
'name' => __( 'Before Footer Widgets', 'daily-dish' ),
'description' => __( 'This is the before footer widgets section.', 'daily-dish' ),
) );
genesis_register_sidebar( array(
'id' => 'after-footer',
'name' => __( 'After Footer', 'daily-dish' ),
'description' => __( 'This is the after footer section.', 'daily-dish' ),
) );
Related
i added a custom endpoint to myaccount menu and it corrispond to the Yith Woccommerce Wishlist.
I added this code in order to create the edpoint and show the content:
function my_custom_endpoints() {
add_rewrite_endpoint( 'yith-my-wishlist', EP_ROOT | EP_PAGES );
}
add_action( 'init', 'my_custom_endpoints' );
function my_custom_query_vars( $vars ) {
$vars[] = 'yith-my-wishlist';
return $vars;
}
add_filter( 'query_vars', 'my_custom_query_vars', 0 );
function my_flush_rewrite_rules() {
flush_rewrite_rules();
}
add_action( 'wp_loaded', 'my_flush_rewrite_rules' );
function my_custom_my_account_menu_items( $items ) {
$items = array(
'customer-logout' => __( 'Logout', 'woocommerce' ),
'edit-account' => __( 'My Profile', 'woocommerce' ),
'yith-my-wishlist' => __('My Wishlist', 'woocommerce'),
//'dashboard' => __( 'Dashboard', 'woocommerce' ),
'orders' => __( 'Orders', 'woocommerce' )
//'downloads' => __( 'Downloads', 'woocommerce' ),
//'edit-address' => __( 'Addresses', 'woocommerce' ),
//'payment-methods' => __( 'Payment Methods', 'woocommerce' ),
);
return $items;
}
add_filter( 'woocommerce_account_menu_items', 'my_custom_my_account_menu_items' );
function my_custom_endpoint_content() {
include 'yith-woocommerce-wishlist/wishlist-view.php';
}
add_action( 'woocommerce_account_special-page_endpoint', 'my_custom_endpoint_content' );
But the content doesn't appear. I think I got wrong on the url in the my_custom_endpoint_content() function.
I have a child theme and this code is in the functions.php of the child theme. I copied the folder of the yith plugin in the childtheme folder with the file i want to show.
How can i fix it ?
your
add_action( 'woocommerce_account_special-page_endpoint', 'my_custom_endpoint_content' );
should have been
add_action( 'woocommerce_account_yith-my-wishlist_endpoint', 'my_custom_endpoint_content' );
it is in this format 'woocommerce_account_' . $key . '_endpoint' where the $key in your case is yith-my-wishlist.
Also, I think include 'yith-woocommerce-wishlist/wishlist-view.php'; will not work on the functions.php. You need the path to the plugin if this file is from a plugin.
I am trying to Add a new tab on single product page. My below codes works well:-
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// Adds the new tab
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
}
I want to insert some html data in the 'title' =>
For example:
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// Adds the new tab
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information <img src="'.$image.'"/>', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
}
The above codes outputs the full html source instead the image.
Any help will be really appreciated.
Thanks
Here you can:
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// Adds the new tab
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
}
function woo_new_product_tab_content() {
// The new tab content
echo '<p>Lorem Ipsum</p>';
}
I know that this thread is old, but I have had the same problem. You can solve it with a custom filter for the tab title.
So you have this:
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
// Adds the new tab
$tabs['desc_tab'] = array(
'title' => __( 'Additional Information <img src="'.$image.'"/>', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content'
);
}
Now you got a tab called "desc_tab". The problem is that WooCommerce does not escape the HTML part of it, but you can use a filter, so WooCommerce translates the tab title to HTML:
add_filter('woocommerce_product_desc_tab_tab_title', 'decode_html_tab', 10, 2);
function decode_html_tab($title, $key) {
$title = html_entity_decode( $title, ENT_QUOTES );
return $title;
}
You have to pay attention to the title of the filter. It is a composition of 'woocommerce_' + the tab title + '_tab_title'.
I hope
I am a PHP beginner. I have trouble to making a basic if/then statement on function.
I add a woocommerce product tab 'Food_paring', I want to disable the tab when the field 'food_pairing" is empty/not set.
original code:
add_filter( 'woocommerce_product_tabs', 'new_product_tab' );
function new_product_tab( $tabs ) {
/* Adds the new tab */
$tabs['test_tab'] = array(
'title' => __( 'Food Pairing', 'woocommerce' ),
'priority' => 50,
'callback' => 'food_pairing_tab_content'
);
return $tabs; /* Return all tabs including the new New Custom Product Tab to display */
}
function food_pairing_tab_content() {
/* The new tab content */
echo '<h2>Food Pairing</h2><p id="tab-food-pairing">', get_post_meta( get_the_ID(), 'food_pairing', true ), '</p>';
}
Please check below code. Before add tab check if product meta has value or not global $post; if(get_post_meta($post->ID, 'food_pairing', true )){..}
add_filter( 'woocommerce_product_tabs', 'new_product_tab' );
function new_product_tab( $tabs ) {
global $post;
/* Adds the new tab */
if(get_post_meta($post->ID, 'food_pairing', true ))
{
$tabs['test_tab'] = array(
'title' => __( 'Food Pairing', 'woocommerce' ),
'priority' => 50,
'callback' => 'food_pairing_tab_content'
);
}
return $tabs; /* Return all tabs including the new New Custom Product Tab to display */
}
function food_pairing_tab_content() {
/* The new tab content */
echo '<h2>Food Pairing</h2><p id="tab-food-pairing">', get_post_meta( get_the_ID(), 'food_pairing', true ), '</p>';
}
add_filter( 'woocommerce_product_tabs', 'woo_new_product_tab' );
function woo_new_product_tab( $tabs ) {
global $woocommerce;
$tabs['desc_tab'] = array(
'title' => __( 'Ingredients', 'woocommerce' ),
'priority' => 50,
'callback' => 'woo_new_product_tab_content' ,
);
return $tabs;
}
function woo_new_product_tab_content() {
// The new tab content
echo '<p>Lorem Ipsum</p>';
echo $prod_id = get_the_ID();
echo'<p>'.get_post_meta($prod_id,'ingredients',true).'</p>';
}
this code is properly working... should try . Good Luck
I have an issue with this WooCommerce Grid / List toggle plugin.
On my clients website price of products is positioned with css position: absolute;. It works fine in grid view. But when I switch to list view, the price is overlapping other text. I tried to edit position of price (with top: 10px; forexample) but it changed also the position of price in grid view.
So I want to use php if statement in header and echo the proper position in <style> according to grid view or list view was chosen.
The problem I have is that I don't know which function should I use. Or which variables should I compare, according to which view was chosen.
Here is the code of plugin:
<?php
/*
Plugin Name: WooCommerce Grid / List toggle
Plugin URI: http://jameskoster.co.uk/tag/grid-list-toggle/
Description: Adds a grid/list view toggle to product archives
Version: 0.4.0
Author: jameskoster
Author URI: http://jameskoster.co.uk
Requires at least: 3.3
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wc_list_grid_toggle
Domain Path: /languages/
*/
/**
* Check if WooCommerce is active
**/
if ( in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
/**
* Localisation
**/
load_plugin_textdomain( 'wc_list_grid_toggle', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
/**
* WC_List_Grid class
**/
if (!class_exists('WC_List_Grid')) {
class WC_List_Grid {
public function __construct() {
// Hooks
add_action( 'wp' , array( $this, 'setup_gridlist' ) , 20);
// Init settings
$this->settings = array(
array(
'name' => __( 'Default catalog view', 'wc_list_grid_toggle' ),
'type' => 'title',
'id' => 'wc_glt_options'
),
array(
'name' => __( 'Default catalog view', 'wc_list_grid_toggle' ),
'desc_tip' => __( 'Display products in grid or list view by default', 'wc_list_grid_toggle' ),
'id' => 'wc_glt_default',
'type' => 'select',
'options' => array(
'grid' => __('Grid', 'wc_list_grid_toggle'),
'list' => __('List', 'wc_list_grid_toggle')
)
),
array( 'type' => 'sectionend', 'id' => 'wc_glt_options' ),
);
// Default options
add_option( 'wc_glt_default', 'grid' );
// Admin
add_action( 'woocommerce_settings_image_options_after', array( $this, 'admin_settings' ), 20 );
add_action( 'woocommerce_update_options_catalog', array( $this, 'save_admin_settings' ) );
add_action( 'woocommerce_update_options_products', array( $this, 'save_admin_settings' ) );
}
/*-----------------------------------------------------------------------------------*/
/* Class Functions */
/*-----------------------------------------------------------------------------------*/
function admin_settings() {
woocommerce_admin_fields( $this->settings );
}
function save_admin_settings() {
woocommerce_update_options( $this->settings );
}
// Setup
function setup_gridlist() {
if ( is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy() ) {
add_action( 'wp_enqueue_scripts', array( $this, 'setup_scripts_styles' ), 20);
add_action( 'wp_enqueue_scripts', array( $this, 'setup_scripts_script' ), 20);
add_action( 'woocommerce_before_shop_loop', array( $this, 'gridlist_toggle_button' ), 30);
add_action( 'woocommerce_after_shop_loop_item', array( $this, 'gridlist_buttonwrap_open' ), 9);
add_action( 'woocommerce_after_shop_loop_item', array( $this, 'gridlist_buttonwrap_close' ), 11);
add_action( 'woocommerce_after_shop_loop_item', array( $this, 'gridlist_hr' ), 30);
add_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_single_excerpt', 5);
add_action( 'woocommerce_after_subcategory', array( $this, 'gridlist_cat_desc' ) );
}
}
// Scripts & styles
function setup_scripts_styles() {
if ( is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy() ) {
wp_enqueue_style( 'grid-list-layout', plugins_url( '/assets/css/style.css', __FILE__ ) );
wp_enqueue_style( 'grid-list-button', plugins_url( '/assets/css/button.css', __FILE__ ) );
}
}
function setup_scripts_script() {
if ( is_shop() || is_product_category() || is_product_tag() || is_product_taxonomy() ) {
wp_enqueue_script( 'cookie', plugins_url( '/assets/js/jquery.cookie.min.js', __FILE__ ), array( 'jquery' ) );
wp_enqueue_script( 'grid-list-scripts', plugins_url( '/assets/js/jquery.gridlistview.min.js', __FILE__ ), array( 'jquery' ) );
add_action( 'wp_footer', array(&$this, 'gridlist_set_default_view') );
}
}
// Toggle button
function gridlist_toggle_button() {
?>
<nav class="gridlist-toggle">
⊞ <span><?php _e('Zobrazit mřížku', 'wc_list_grid_toggle'); ?></span>⊟ <span><?php _e('Zobrazit seznam', 'wc_list_grid_toggle'); ?></span>
</nav>
<?php
}
// Button wrap
function gridlist_buttonwrap_open() {
?>
<div class="gridlist-buttonwrap">
<?php
}
function gridlist_buttonwrap_close() {
?>
</div>
<?php
}
// hr
function gridlist_hr() {
?>
<hr />
<?php
}
function gridlist_set_default_view() {
$default = get_option( 'wc_glt_default' );
?>
<script>
if (jQuery.cookie('gridcookie') == null) {
jQuery('ul.products').addClass('<?php echo $default; ?>');
jQuery('.gridlist-toggle #<?php echo $default; ?>').addClass('active');
}
</script>
<?php
}
function gridlist_cat_desc( $category ) {
global $woocommerce;
echo '<div itemprop="description">';
echo $category->description;
echo '</div>';
}
}
$WC_List_Grid = new WC_List_Grid();
}
}
Finaly I solved this issue. I used the CSS class: ul.products.list li.product .price to change the appearance of the price in list view. The grid view is probably default ul.products li .price.
Now all works. Hope this will help also someone who has also problem with it.
I'm trouble-shooting away right now, but coding is not my strong suit, and I know it is some of yours'.
If you could help me figure out what in gosh's name is going on right now, I'd really appreciate it.
Here is my function.php code:
<?php
//* Start the engine
include_once( get_template_directory() . '/lib/init.php' );
//* Set Localization (do not remove)
load_child_theme_textdomain( 'sixteen-nine', apply_filters( 'child_theme_textdomain', get_stylesheet_directory() . '/languages', 'sixteen-nine' ) );
//* Child theme (do not remove)
define( 'CHILD_THEME_NAME', __( 'Sixteen Nine Pro Theme', 'sixteen-nine' ) );
define( 'CHILD_THEME_URL', 'http://my.studiopress.com/themes/sixteen-nine/' );
define( 'CHILD_THEME_VERSION', '1.0' );
//* Add HTML5 markup structure
add_theme_support( 'html5' );
//* Add viewport meta tag for mobile browsers
add_theme_support( 'genesis-responsive-viewport' );
//* Enqueue Playfair Display and Roboto family of Google fonts
add_action( 'wp_enqueue_scripts', 'sixteen_nine_google_fonts' );
function sixteen_nine_google_fonts() {
wp_enqueue_style( 'google-font', '//fonts.googleapis.com/css? family=Playfair+Display:300italic|Roboto:300,700|Roboto+Condensed:300,700|Roboto+Slab:300', array(), PARENT_THEME_VERSION );
}
//* Enqueue Backstretch script and prepare images for loading
add_action( 'wp_enqueue_scripts', 'sixteen_nine_enqueue_scripts' );
function sixteen_nine_enqueue_scripts() {
wp_enqueue_script( 'sixteen-nine-responsive-menu', get_bloginfo( 'stylesheet_directory' ) . '/js/responsive-menu.js', array( 'jquery' ), '1.0.0' );
//* Load scripts only if custom background is being used
if ( ! get_background_image() )
return;
wp_enqueue_script( 'sixteen-nine-backstretch', get_bloginfo( 'stylesheet_directory' ) . '/js/backstretch.js', array( 'jquery' ), '1.0.0' );
wp_enqueue_script( 'sixteen-nine-backstretch-set', get_bloginfo('stylesheet_directory').'/js/backstretch-set.js' , array( 'jquery', 'sixteen-nine- backstretch' ), '1.0.0' );
wp_localize_script( 'sixteen-nine-backstretch-set', 'BackStretchImg', array( 'src' => str_replace( 'http:', '', get_background_image() ) ) );
}
//* Add custom background callback for background color
function sixteen_nine_background_callback() {
if ( ! get_background_color() )
return;
printf( '<style>body { background-color: #%s; }</style>' . "\n", get_background_color() );
}
//* Add support for custom background
add_theme_support( 'custom-background', array( 'wp-head-callback' => 'sixteen_nine_background_callback' ) );
//* Add support for custom header
add_theme_support( 'custom-header', array(
'admin-preview-callback' => 'sixteen_nine_admin_header_callback',
'default-text-color' => 'ffffff',
'header-selector' => '.site-header .site-avatar img',
'height' => 224,
'width' => 224,
'wp-head-callback' => 'sixteen_nine_header_callback',
) );
function sixteen_nine_admin_header_callback() {
echo get_header_image() ? '<img src="' . get_header_image() . '" />' : get_avatar( get_option( ' admin_email' ), 224 );
}
function sixteen_nine_header_callback() {
if ( ! get_header_textcolor() )
return;
printf( '<style type="text/css">.site-title a { color: #%s; }</style>' . "\n", get_header_textcolor() );
}
//* Unregister layout settings
genesis_unregister_layout( 'sidebar-content' );
genesis_unregister_layout( 'content-sidebar-sidebar' );
genesis_unregister_layout( 'sidebar-sidebar-content' );
genesis_unregister_layout( 'sidebar-content-sidebar' );
//* Unregister primary/secondary navigation menus
remove_theme_support( 'genesis-menus' );
//* Unregister secondary sidebar
unregister_sidebar( 'sidebar-alt' );
//* Hook site avatar before site title
add_action( 'genesis_header', 'sixteen_nine_site_gravatar', 5 );
function sixteen_nine_site_gravatar() {
$header_image = get_header_image() ? '<img alt="" src="' . get_header_image() . '" />' : get_avatar( get_option( 'admin_email' ), 224 );
printf( '<div class="site-avatar">%s</div>', home_url( '/' ), $header_image );
}
//* Hook after post widget after the entry content
add_action( 'genesis_after_entry', 'sixteen_nine_after_entry', 5 );
function sixteen_nine_after_entry() {
if ( is_singular( 'post' ) )
genesis_widget_area( 'after-entry', array(
'before' => '<div class="after-entry" class="widget-area">',
'after' => '</div>',
) );
}
//* Modify the size of the Gravatar in the author box
add_filter( 'genesis_author_box_gravatar_size', 'sixteen_nine_author_box_gravatar' );
function sixteen_nine_author_box_gravatar( $size ) {
return 140;
}
//* Modify the size of the Gravatar in the entry comments
add_filter( 'genesis_comment_list_args', 'sixteen_nine_comments_gravatar' );
function sixteen_nine_comments_gravatar( $args ) {
$args['avatar_size'] = 96;
return $args;
}
//* Reposition the footer
remove_action( 'genesis_footer', 'genesis_footer_markup_open', 5 );
remove_action( 'genesis_footer', 'genesis_do_footer' );
remove_action( 'genesis_footer', 'genesis_footer_markup_close', 15 );
add_action( 'genesis_header', 'genesis_footer_markup_open', 11 );
add_action( 'genesis_header', 'genesis_do_footer', 12 );
add_action( 'genesis_header', 'genesis_footer_markup_close', 13 );
//* Customize the footer
add_filter( 'genesis_footer_output', 'sixteen_nine_custom_footer' );
function sixteen_nine_custom_footer( $output ) {
$output = sprintf( '<p>%s%s</p>', __( 'Powered by ', 'sixteen-nine' ), __( 'Genesis', 'sixteen-nine' ) );
return $output;
}
//* Register widget areas
genesis_register_sidebar( array(
'id' => 'after-entry',
'name' => __( 'After Entry', 'sixteen-nine' ),
'description' => __( 'This is the widget that appears after the entry on single posts.', 'sixteen- nine' ),
) );
The problem doesn't appear to be with this file. There are no syntax errors in this file. You are, however, including at least one other file, which could well contain a syntax error.