Title: Parse Error
Last modified: August 24, 2016

---

# Parse Error

 *  Resolved [WrdprsKN](https://wordpress.org/support/users/wrdprskn/)
 * (@wrdprskn)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/)
 * I am transferring a WordPress/Xenforo site to another server. I’ve moved everything
   over — databases and files — and most things are working. However, I am getting
   a parse error message on the new server. The posts display, but above them it
   says:
 * **Parse error**: syntax error, unexpected end of file in **/opt/bitnami/apache2/
   htdocs/weblog/wp-content/plugins/genesis-simple-hooks/plugin.php(123) : eval()’
   d code** on line **15**
 * What would cause this? The text of the plugin.php file is as follows:
 *     ```
       <?php
       /*
       	Plugin Name: Genesis Simple Hooks
       	Plugin URI: http://www.studiopress.com/plugins/simple-hooks
   
       	Description: Genesis Simple Hooks allows you easy access to the 50+ Action Hooks in the Genesis Theme.
   
       	Author: Nathan Rice
       	Author URI: http://www.nathanrice.net/
   
       	Version: 2.1.0
   
       	License: GNU General Public License v2.0 (or later)
       	License URI: http://www.opensource.org/licenses/gpl-license.php
       */
   
       //* Define our constants
       define( 'SIMPLEHOOKS_SETTINGS_FIELD', 'simplehooks-settings' );
       define( 'SIMPLEHOOKS_PLUGIN_DIR', dirname( __FILE__ ) );
   
       register_activation_hook( __FILE__, 'simplehooks_activation' );
       /**
        * This function runs on plugin activation. It checks to make sure Genesis
        * or a Genesis child theme is active. If not, it deactivates itself.
        *
        * @since 0.1.0
        */
       function simplehooks_activation() {
   
       	if ( ! defined( 'PARENT_THEME_VERSION' ) || ! version_compare( PARENT_THEME_VERSION, '2.1.0', '>=' ) )
       		simplehooks_deactivate( '2.1.0', '3.9.2' );
   
       }
   
       /**
        * Deactivate Simple Hooks.
        *
        * This function deactivates Simple Hooks.
        *
        * @since 1.8.0.2
        */
       function simplehooks_deactivate( $genesis_version = '2.1.0', $wp_version = '3.9.2' ) {
   
       	deactivate_plugins( plugin_basename( __FILE__ ) );
       	wp_die( sprintf( __( 'Sorry, you cannot run Simple Hooks without WordPress %s and <a href="%s">Genesis %s</a>, or greater.', 'simplehooks' ), $wp_version, 'http://my.studiopress.com/?download_id=91046d629e74d525b3f2978e404e7ffa', $genesis_version ) );
   
       }
   
       add_action( 'genesis_init', 'simplehooks_init', 20 );
       /**
        * Load admin menu and helper functions. Hooked to <code>genesis_init</code>.
        *
        * @since 1.8.0
        */
       function simplehooks_init() {
   
       	//* Admin Menu
       	if ( is_admin() )
       		require_once( SIMPLEHOOKS_PLUGIN_DIR . '/admin.php' );
   
       	//* Helper functions
       	require_once( SIMPLEHOOKS_PLUGIN_DIR . '/functions.php' );
   
       }
   
       add_action( 'genesis_init', 'simplehooks_execute_hooks', 20 );
       /**
        * The following code loops through all the hooks, and attempts to
        * execute the code in the proper location.
        *
        * @uses simplehooks_execute_hook() as a callback.
        *
        * @since 0.1
        */
       function simplehooks_execute_hooks() {
   
       	$hooks = get_option( SIMPLEHOOKS_SETTINGS_FIELD );
   
       	foreach ( (array) $hooks as $hook => $array ) {
   
       		//* Add new content to hook
       		if ( simplehooks_get_option( $hook, 'content' ) ) {
       			add_action( $hook, 'simplehooks_execute_hook' );
       		}
   
       		//* Unhook stuff
       		if ( isset( $array['unhook'] ) ) {
   
       			foreach( (array) $array['unhook'] as $function ) {
   
       				remove_action( $hook, $function );
   
       			}
   
       		}
   
       	}
   
       }
   
       /**
        * The following function executes any code meant to be hooked.
        * It checks to see if shortcodes or PHP should be executed as well.
        *
        * @uses simplehooks_get_option()
        *
        * @since 0.1
        */
       function simplehooks_execute_hook() {
   
       	$hook = current_filter();
       	$content = simplehooks_get_option( $hook, 'content' );
   
       	if( ! $hook || ! $content )
       		return;
   
       	$shortcodes = simplehooks_get_option( $hook, 'shortcodes' );
       	$php = simplehooks_get_option( $hook, 'php' );
   
       	$value = $shortcodes ? do_shortcode( $content ) : $content;
   
       	if ( $php )
       		eval( "?>$value<?php " );
       	else
       		echo $value;
   
       }
       ```
   
 * [https://wordpress.org/plugins/genesis-simple-hooks/](https://wordpress.org/plugins/genesis-simple-hooks/)

Viewing 7 replies - 1 through 7 (of 7 total)

 *  [Ron Rennick](https://wordpress.org/support/users/wpmuguru/)
 * (@wpmuguru)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180788)
 * The eval()’d code causing the error is in one of your hooks in the settings.
 *  Thread Starter [WrdprsKN](https://wordpress.org/support/users/wrdprskn/)
 * (@wrdprskn)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180811)
 * Thank you for your prompt reply. How would I best locate the code?
 *  Plugin Support [Nick C](https://wordpress.org/support/users/modernnerd/)
 * (@modernnerd)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180870)
 * [@wrdprskn](https://wordpress.org/support/users/wrdprskn/) You could log in to
   your WP admin area, go to Genesis → Simple Hooks, and remove code from each box
   where “Execute PHP on this hook?” is ticked, one at a time.
 * Then see if the error message disappears each time, and review the code in that
   section for possible errors.
 *  Thread Starter [WrdprsKN](https://wordpress.org/support/users/wrdprskn/)
 * (@wrdprskn)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180902)
 * Thank you! I found the code that is causing the problem. It is as follows:
 *     ```
       <?php if(is_single()){ ?>
       <!--article-share-->
       <div id="article-share">
       <?php if (!dynamic_sidebar('Article Share')) : ?>
       <div class="widget">
       <h4><?php _e("Article Share", 'genesis'); ?></h4>
       <div class="wrap">
       <p><?php _e("This is a widgeted area which is called Article Share. To get started, log into your WordPress dashboard, and then go to the Appearance > Widgets screen. There you can drag the Genesis - Featured Posts widget into the Featured Middle widget area on the right hand side. To get the image to display, simply upload an image through the media uploader on the edit page screen and publish your page. The Featured Posts widget will know to display the post image as long as you select that option in the widget interface.", 'genesis'); ?></p>
       </div><!-- end .wrap -->
       </div><!-- end .widget -->
       <?php endif; ?>
       </div>
       <!--end article-share-->
   
       <? } ?>
       ```
   
 * Do you know what is wrong with the code? Thank you!
 *  [QXARE](https://wordpress.org/support/users/qxare/)
 * (@qxare)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180904)
 * Just copied and executed the code you provided, works fine. I don’t think that
   this part causes that problem. But as they mentioned before, it’s probably a 
   sidebar related hook or so.
 *  Plugin Support [Nick C](https://wordpress.org/support/users/modernnerd/)
 * (@modernnerd)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180905)
 * You could try changing this line:
 * `<? } ?>`
 * To this:
 * `<?php } ?>`
 * It’s possible that short open tags are off on your new server, but were on for
   the old one, which would explain why the error’s suddenly appeared after your
   migration.
 *  Thread Starter [WrdprsKN](https://wordpress.org/support/users/wrdprskn/)
 * (@wrdprskn)
 * [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180906)
 * That was it. Thank you very much!

Viewing 7 replies - 1 through 7 (of 7 total)

The topic ‘Parse Error’ is closed to new replies.

 * ![](https://ps.w.org/genesis-simple-hooks/assets/icon-256x256.png?rev=1335659)
 * [Genesis Simple Hooks](https://wordpress.org/plugins/genesis-simple-hooks/)
 * [Frequently Asked Questions](https://wordpress.org/plugins/genesis-simple-hooks/#faq)
 * [Support Threads](https://wordpress.org/support/plugin/genesis-simple-hooks/)
 * [Active Topics](https://wordpress.org/support/plugin/genesis-simple-hooks/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/genesis-simple-hooks/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/genesis-simple-hooks/reviews/)

 * 7 replies
 * 4 participants
 * Last reply from: [WrdprsKN](https://wordpress.org/support/users/wrdprskn/)
 * Last activity: [10 years, 10 months ago](https://wordpress.org/support/topic/parse-error-333/#post-6180906)
 * Status: resolved