Page 1 sur 1

unexpected end of file

Posté : 18 oct. 2016, 14:24
par Fulbertine
Bonjour, je suis débutante et là je n'arrive pas à résoudre le problème…
Voici le message : "PHP Parse error: syntax error, unexpected end of file on line 204." (dernière ligne)
Voici le début et la fin :
<?php
/**
 * This file represents an example of the code that themes would use to register
 * the required plugins.
 *

		),
                }
		*/
	);
      tgmpa('$plugins, $config');	
?>
Merci d'avance de votre aide, car ça fait un petit moment que je suis dessus et je comprends pas…

Re: unexpected end of file

Posté : 18 oct. 2016, 15:09
par Spols
<?php
/**
 * This file represents an example of the code that themes would use to register
 * the required plugins.
 */
 tgmpa('$plugins, $config');	
?>
essaie plutot ceci, j'ai retiré tous les caractères qui ne servent à rien, et qui n'était pas suffisamment mis en commentaires

Re: unexpected end of file

Posté : 18 oct. 2016, 16:05
par fitnopk
C'est plus une erreur de syntaxe que de PhP!
Quand tu veux exécuter, puisque tout ce que tu as avant est en commentaire, la 1ere chose qu'il va voir c'est ");" étant donné qu'un ; indique la fin d'une consigne.
Ca va pas poser problème à ton avis? ;)

Re: unexpected end of file

Posté : 18 oct. 2016, 16:32
par Fulbertine
Merci pour votre aide, cela ne fonctionne pas, je corrige selon les directives des messages d'erreurs…
Là, le message est revenu sur "unexpected end of file" et j'en suis ici pour la fin :

'return' => __( 'Return to Required Plugins Installer', 'william' ),
'plugin_activated' => __( 'Plugin activated successfully.', 'william' ),
'activated_successfully' => __( 'The following plugin was activated successfully:', 'william' ),
'plugin_already_active' => __( 'No action taken. Plugin %1$s was already active.', 'william' ), // %1$s = plugin name(s).
'plugin_needs_higher_version' => __( 'Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin.', 'william' ), // %1$s = plugin name(s).
'complete' => __( 'All plugins installed and activated successfully. %1$s', 'william' ), // %s = dashboard link.
'contact_admin' => __( 'Please contact the administrator of this site for help.', 'william' ),
'nag_type' => 'updated', // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. }
*/
tgmpa( '$_plugins', '$_config' ) )
?>

Merci de m'éclairer, je vous l'ai dit je débute…
Merci !!!!!!!!!!!

Re: unexpected end of file

Posté : 18 oct. 2016, 16:41
par fitnopk
Tu peux envoyer tout ton code? Il semble qu'il ne soit pas entier dans ce que tu as posté.
En tous cas, ce qui peut poser problème sur ton code tel que tu l'as posté, c'est une fermeture de commentaire */ sans ouverture /*, et ton tgmpa( '$_plugins', '$_config' ) ) qui se termine par 2 parenthèses fermantes et que tu ne termines pas la ligne par un ;
Je pense qu'il faudrait également un ; après ton accolade mais je n'ai pas le reste de ton code

Re: unexpected end of file

Posté : 18 oct. 2016, 16:45
par Fulbertine
Voici le code en entier, merci d'avance !!!!!

<?php
/**
* Include the TGM_Plugin_Activation class.
*/
require_once get_template_directory() . '/path/to/class/tgm_plugin_activation.php’,
add_action() . ‘/tgmpa_register' // william_register_required_plugins.
/**
* Register the required plugins for this theme.
*
* In this example, we register five plugins:
* - one included with the TGMPA library
* - two from an external source, one from an arbitrary source, one from a GitHub repository
* - two from the .org repo, where one demonstrates the use of the `is_callable` argument
*
* The variable passed to tgmpa_register_plugins() should be an array of plugin
* arrays.
*
* This function is hooked into tgmpa_init, which is fired within the
* TGM_Plugin_Activation class constructor.
*/
/function() { william_register_required_plugins.
/*
* Array of plugin arrays. Required keys are name and slug.
* If the source is NOT from the .org repo, then source is also required.
*/
$plugins = array(

// This is an example of how to include a plugin bundled with a theme.
array(
'name' => 'William Shortcodes', // The plugin name.
'slug' => 'william-shortcodes', // The plugin slug (typically the folder name).
'source' => get_stylesheet_directory() . '/library/plugins/william-shortcodes.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'version' => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher. If the plugin version is higher than the plugin version installed, the user will be notified to update the plugin.
'force_activation' => true, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => '', // If set, overrides default API URL and points to an external URL.
'is_callable' => '', // If set, this callable will be be checked for availability to determine if a plugin is active.
),

// This is an example of how to include a plugin bundled with a theme.
array(
'name' => 'Contact Form 7', // The plugin name.
'slug' => 'contact-form-7', // The plugin slug (typically the folder name).
'source' => get_stylesheet_directory() . '/library/plugins/contact-form-7.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'version' => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher. If the plugin version is higher than the plugin version installed, the user will be notified to update the plugin.
'force_activation' => true, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => '', // If set, overrides default API URL and points to an external URL.
'is_callable' => '', // If set, this callable will be be checked for availability to determine if a plugin is active.
),

// This is an example of how to include a plugin from an arbitrary external source in your theme.
array(
'name' => 'Black Studio TinyMCE Widget', // The plugin name.
'slug' => 'black-studio-tinymce-widget', // The plugin slug (typically the folder name).
'source' => 'https://downloads.wordpress.org/plugin/ ... .2.2.8.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'force_activation' => true, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => 'https://wordpress.org/plugins/black-stu ... mce-widget', // If set, overrides default API URL and points to an external URL.
),

// This is an example of how to include a plugin from an arbitrary external source in your theme.
array(
'name' => 'Page Builder by SiteOrigin', // The plugin name.
'slug' => 'siteorigin-panels', // The plugin slug (typically the folder name).
'source' => 'https://downloads.wordpress.org/plugin/ ... .2.4.6.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'force_activation' => true, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => 'https://wordpress.org/plugins/siteorigin-panels', // If set, overrides default API URL and points to an external URL.
),

// This is an example of how to include a plugin from an arbitrary external source in your theme.
array(
'name' => 'Wordpress importer', // The plugin name.
'slug' => 'wordpress-importer', // The plugin slug (typically the folder name).
'source' => 'https://downloads.wordpress.org/plugin/ ... .0.6.1.zip', // The plugin source.
'required' => false, // If false, the plugin is only 'recommended' instead of required.
'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => 'https://wordpress.org/plugins/wordpress-importer', // If set, overrides default API URL and points to an external URL.
),
);

/*
* Array of configuration settings. Amend each line as needed.
*
* TGMPA will start providing localized text strings soon. If you already have translations of our standard
* strings available, please help us make TGMPA even better by giving us access to these translations or by
* sending in a pull-request with .po file(s) with the translations.
*
* Only uncomment the strings in the config array if you want to customize the strings.
*/
$config = array(
'id' => 'william', // Unique ID for hashing notices for multiple instances of TGMPA.
'default_path' => '', // Default absolute path to bundled plugins.
'menu' => 'tgmpa-install-plugins', // Menu slug.
'has_notices' => true, // Show admin notices or not.
'dismissable' => true, // If false, a user cannot dismiss the nag message.
'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag.
'is_automatic' => false, // Automatically activate plugins after installation or not.
'message' => '', // Message to output right before the plugins table.

/*
'strings' => array(
'page_title' => __( 'Install Required Plugins', 'william' ),
'menu_title' => __( 'Install Plugins', 'william' ),
'installing' => __( 'Installing Plugin: %s', 'william' ), // %s = plugin name.
'oops' => __( 'Something went wrong with the plugin API.', 'william' ),
'notice_can_install_required' => _n_noop(
'This theme requires the following plugin: %1$s.',
'This theme requires the following plugins: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_can_install_recommended' => _n_noop(
'This theme recommends the following plugin: %1$s.',
'This theme recommends the following plugins: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_cannot_install' => _n_noop(
'Sorry, but you do not have the correct permissions to install the %1$s plugin.',
'Sorry, but you do not have the correct permissions to install the %1$s plugins.',
'william'
), // %1$s = plugin name(s).
'notice_ask_to_update' => _n_noop(
'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.',
'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_ask_to_update_maybe' => _n_noop(
'There is an update available for: %1$s.',
'There are updates available for the following plugins: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_cannot_update' => _n_noop(
'Sorry, but you do not have the correct permissions to update the %1$s plugin.',
'Sorry, but you do not have the correct permissions to update the %1$s plugins.',
'william'
), // %1$s = plugin name(s).
'notice_can_activate_required' => _n_noop(
'The following required plugin is currently inactive: %1$s.',
'The following required plugins are currently inactive: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_can_activate_recommended' => _n_noop(
'The following recommended plugin is currently inactive: %1$s.',
'The following recommended plugins are currently inactive: %1$s.',
'william'
), // %1$s = plugin name(s).
'notice_cannot_activate' => _n_noop(
'Sorry, but you do not have the correct permissions to activate the %1$s plugin.',
'Sorry, but you do not have the correct permissions to activate the %1$s plugins.',
'william'
), // %1$s = plugin name(s).
'install_link' => _n_noop(
'Begin installing plugin',
'Begin installing plugins',
'william'
),
'update_link' => _n_noop(
'Begin updating plugin',
'Begin updating plugins',
'william'
),
'activate_link' => _n_noop(
'Begin activating plugin',
'Begin activating plugins',
'william'
),
'return' => __( 'Return to Required Plugins Installer', 'william' ),
'plugin_activated' => __( 'Plugin activated successfully.', 'william' ),
'activated_successfully' => __( 'The following plugin was activated successfully:', 'william' ),
'plugin_already_active' => __( 'No action taken. Plugin %1$s was already active.', 'william' ), // %1$s = plugin name(s).
'plugin_needs_higher_version' => __( 'Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin.', 'william' ), // %1$s = plugin name(s).
'complete' => __( 'All plugins installed and activated successfully. %1$s', 'william' ), // %s = dashboard link.
'contact_admin' => __( 'Please contact the administrator of this site for help.', 'william' ),
'nag_type' => 'updated', // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. }
*/
tgmpa( '$_plugins', '$_config' ) )
?>

Re: unexpected end of file

Posté : 18 oct. 2016, 16:55
par fitnopk
Beaucoup d'erreurs de syntaxes.

Tu n'as pas terminé la ligne du require_once avec un ;
require_once get_template_directory() . '/path/to/class/tgm_plugin_activation.php’,                                                                                                                         
add_action() . ‘/tgmpa_register' // william_register_required_plugins.
Ce que tu mets après me semble également étrange, mais bon ça je peux pas dire je suis qu'un débutant


Je ne sais pas si cette fonction et tout ce qu'elle contient est censé être en commentaire, mais clairement cette ligne va poser problème.
/function() { william_register_required_plugins.
Je pense que tu voulais plutôt écrire
function() { // william_register_required_plugins.

Ton array n'est pas fermé.
$config = array(
        'id' => 'william', // Unique ID for hashing notices for multiple instances of TGMPA.                                                                                                                
        'default_path' => '', // Default absolute path to bundled plugins.                                                                                                                                  
        'menu' => 'tgmpa-install-plugins', // Menu slug.                                                                                                                                                    
        'has_notices' => true, // Show admin notices or not.                                                                                                                                                
        'dismissable' => true, // If false, a user cannot dismiss the nag message.                                                                                                                          
        'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag.                                                                                                       
        'is_automatic' => false, // Automatically activate plugins after installation or not.                                                                                                               
        'message' => '', // Message to output right before the plugins table.

Erreur que j'ai déjà relevé au dessus.
tgmpa( '$_plugins', '$_config' ) )
Quand tu veux mettre des morceaux de ton code en commentaire pour ne tester que certaines parties, fait bien attention à ce que tu as mis en commentaire car si c'est mal fait ça te créer pleins de problèmes.