FEATURE Handling the new social network system
This commit is contained in:
parent
1eb0e82294
commit
44217cdb11
|
|
@ -8,6 +8,8 @@ require_once(__DIR__ . '/includes/logos.php');
|
|||
require_once(__DIR__ . '/includes/collective-access-api.php');
|
||||
require_once(__DIR__ . '/includes/utilities.php');
|
||||
require_once(__DIR__ . '/includes/nawalker_fction.php');
|
||||
require_once(__DIR__ . '/includes/social-networks.php');
|
||||
|
||||
|
||||
// require_once(__DIR__ . '/includes/widget.php');
|
||||
// require_once( __DIR__ . '/includes/taxonomy.php');
|
||||
|
|
|
|||
186
includes/social-networks.php
Normal file
186
includes/social-networks.php
Normal file
|
|
@ -0,0 +1,186 @@
|
|||
<?php
|
||||
|
||||
/* ----------------------------------------------------------------
|
||||
##### PAGE D'OPTIONS DU THÈME DYNAMIQUES
|
||||
| ------------------------------------------------------------------*/
|
||||
|
||||
// Ajouter la page d'options au menu d'administration
|
||||
function dynamiques_add_options_page()
|
||||
{
|
||||
if (get_current_blog_id() !== 1) return;
|
||||
|
||||
add_options_page(
|
||||
'Options de réseaux sociaux', // Titre de la page
|
||||
'Réseaux sociaux', // Titre du menu
|
||||
'manage_options', // Capacité requise
|
||||
'dynamiques-options', // Slug de la page
|
||||
'dynamiques_options_page_html' // Fonction de callback
|
||||
);
|
||||
}
|
||||
add_action('admin_menu', 'dynamiques_add_options_page');
|
||||
|
||||
// Enregistrer les paramètres
|
||||
function dynamiques_settings_init()
|
||||
{
|
||||
// Enregistrer un groupe de paramètres
|
||||
register_setting('dynamiques_options', 'dynamiques_options');
|
||||
|
||||
// Ajouter une section pour les réseaux sociaux
|
||||
add_settings_section(
|
||||
'dynamiques_section_social',
|
||||
'Réseaux sociaux',
|
||||
'dynamiques_section_social_callback',
|
||||
'dynamiques_options'
|
||||
);
|
||||
|
||||
// Champs de la section générale
|
||||
add_settings_field(
|
||||
'site_logo',
|
||||
'Logo du site',
|
||||
'dynamiques_field_logo_callback',
|
||||
'dynamiques_options',
|
||||
'dynamiques_section_general',
|
||||
array('label_for' => 'site_logo')
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'footer_text',
|
||||
'Texte du pied de page',
|
||||
'dynamiques_field_footer_text_callback',
|
||||
'dynamiques_options',
|
||||
'dynamiques_section_general',
|
||||
array('label_for' => 'footer_text')
|
||||
);
|
||||
|
||||
// Champs pour les réseaux sociaux
|
||||
add_settings_field(
|
||||
'facebook_url',
|
||||
'URL Facebook',
|
||||
'dynamiques_field_facebook_callback',
|
||||
'dynamiques_options',
|
||||
'dynamiques_section_social',
|
||||
array('label_for' => 'facebook_url')
|
||||
);
|
||||
|
||||
add_settings_field(
|
||||
'youtube_url',
|
||||
'URL YouTube',
|
||||
'dynamiques_field_youtube_callback',
|
||||
'dynamiques_options',
|
||||
'dynamiques_section_social',
|
||||
array('label_for' => 'youtube_url')
|
||||
);
|
||||
}
|
||||
add_action('admin_init', 'dynamiques_settings_init');
|
||||
|
||||
|
||||
// Callback pour la section réseaux sociaux
|
||||
function dynamiques_section_social_callback()
|
||||
{
|
||||
echo '<p>Configurez les liens vers vos réseaux sociaux.</p>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function dynamiques_field_facebook_callback($args)
|
||||
{
|
||||
$options = get_option('dynamiques_options');
|
||||
$value = isset($options[$args['label_for']]) ? $options[$args['label_for']] : '';
|
||||
?>
|
||||
<input type="url"
|
||||
id="<?php echo esc_attr($args['label_for']); ?>"
|
||||
name="dynamiques_options[<?php echo esc_attr($args['label_for']); ?>]"
|
||||
value="<?php echo esc_attr($value); ?>"
|
||||
class="regular-text"
|
||||
placeholder="https://facebook.com/votreprofil">
|
||||
<?php
|
||||
}
|
||||
|
||||
function dynamiques_field_youtube_callback($args)
|
||||
{
|
||||
$options = get_option('dynamiques_options');
|
||||
$value = isset($options[$args['label_for']]) ? $options[$args['label_for']] : '';
|
||||
?>
|
||||
<input type="url"
|
||||
id="<?php echo esc_attr($args['label_for']); ?>"
|
||||
name="dynamiques_options[<?php echo esc_attr($args['label_for']); ?>]"
|
||||
value="<?php echo esc_attr($value); ?>"
|
||||
class="regular-text"
|
||||
placeholder="https://youtube.com/votrechaine">
|
||||
<?php
|
||||
}
|
||||
// Page HTML de l'interface d'options
|
||||
function dynamiques_options_page_html()
|
||||
{
|
||||
// Vérifier les permissions
|
||||
if (!current_user_can('manage_options')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Traitement des messages
|
||||
if (isset($_GET['settings-updated'])) {
|
||||
add_settings_error('dynamiques_messages', 'dynamiques_message', 'Paramètres sauvegardés', 'updated');
|
||||
}
|
||||
|
||||
settings_errors('dynamiques_messages');
|
||||
?>
|
||||
<div class="wrap">
|
||||
<h1><?php echo esc_html(get_admin_page_title()); ?></h1>
|
||||
|
||||
<form action="options.php" method="post">
|
||||
<?php
|
||||
settings_fields('dynamiques_options');
|
||||
do_settings_sections('dynamiques_options');
|
||||
submit_button('Sauvegarder les paramètres');
|
||||
?>
|
||||
</form>
|
||||
|
||||
<div style="margin-top: 20px; padding: 15px; background: #f1f1f1; border-radius: 5px;">
|
||||
<h3>Comment utiliser ces paramètres :</h3>
|
||||
<p><strong>Dans vos templates :</strong></p>
|
||||
<pre><code>$options = get_option('dynamiques_options');
|
||||
echo $options['facebook_url']; // URL Facebook
|
||||
echo $options['footer_text']; // Texte du footer</code></pre>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
// Fonctions utilitaires pour récupérer les options facilement
|
||||
function get_dynamiques_option($option_name, $default = '')
|
||||
{
|
||||
$options = get_option('dynamiques_options');
|
||||
return isset($options[$option_name]) ? $options[$option_name] : $default;
|
||||
}
|
||||
|
||||
// Fonction pour afficher les liens sociaux
|
||||
function carhop_display_social_links($class = 'social-links')
|
||||
{
|
||||
$facebookUrl = get_dynamiques_option('facebook_url');
|
||||
$youtubeUrl = get_dynamiques_option('youtube_url');
|
||||
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
|
||||
<ul class="social-networks-links">
|
||||
<?php if (!empty($facebookUrl)) : ?>
|
||||
<li>
|
||||
<a class="social-link" title="<?php echo __('Facebook', "carhop") ?>" href="<?php echo $facebookUrl ?>" target="_blank">
|
||||
<img class="social-icon" src="<?php echo get_template_directory_uri() . '/resources/img/icons/carhop-social-facebook.svg' ?>" alt="">
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
<?php if (!empty($youtubeUrl)) : ?>
|
||||
<li>
|
||||
<a class="social-link" title="<?php echo __('Youtube', "carhop") ?>" href="<?php echo $youtubeUrl ?>" target="_blank">
|
||||
<img class="social-icon" src=" <?php echo get_template_directory_uri() . '/resources/img/icons/carhop-social-youtube.svg' ?>" alt="">
|
||||
</a>
|
||||
</li>
|
||||
<?php endif; ?>
|
||||
</ul>
|
||||
<?php
|
||||
$output = ob_get_clean();
|
||||
return $output;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user