Hi, thanks a lot for the quick answer Andrew!
I have adapted functions.php as per following:
(but I got a big white screen now)
<?php
///Lire le functions.js du child
function enqueue_child_functions_js() {
wp_dequeue_script( 'twentyfourteen-script' );
//dequeue the parent script
wp_enqueue_script( my-child-script', get_stylesheet_directory_uri() . '/js/functions.js', array( 'jquery' ), '20140717', true );
//enqueue new modified script}
add_action( 'wp_enqueue_scripts', 'enqueue_child_functions_js', 999 );
///ajouter des moyens de contact aux utilisateurs
function my_new_contactmethods( $contactmethods ) {
$contactmethods['twitter'] = 'Twitter';
$contactmethods['facebook'] = 'Facebook';
$contactmethods['linkedin'] = 'LinkedIn';
$contactmethods['myspace'] = 'MySpace';
$contactmethods['msn'] = 'Msn';
$contactmethods['skype'] = 'Skype';
$contactmethods['icq'] = 'ICQ';
return $contactmethods;
}
add_filter('user_contactmethods','my_new_contactmethods',10,1);
///Ajouter un fil d'Ariane Yoast
add_theme_support( 'yoast-seo-breadcrumbs' );
///Ajouter une capacité aux contributeurs
if ( current_user_can('contributor') && !current_user_can('edit_published_posts') )
add_action('admin_init', 'allow_edit_contributors');
function allow_edit_contributors() {
$contributor = get_role('contributor');
$contributor->add_cap('edit_published_posts');
$contributor->add_cap('moderate_comments');
}
///Masquer la version wordpress
remove_action("wp_head", "wp_generator");
//Masquer la version dans le feed
function wpt_remove_version() {
return ''; }
add_filter('the_generator', 'wpt_remove_version');
///Désactiver admin bar
add_filter('show_admin_bar', '__return_false');
/// Déplacer les javascript vers le footer
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'wp_enqueue_scripts', 1);
add_action('wp_footer', 'wp_print_scripts', 5);
add_action('wp_footer', 'wp_enqueue_scripts', 5);
add_action('wp_footer', 'wp_print_head_scripts', 5);
///Désactiver le js et le css de Contact Form 7
add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
///Désactiver le js et le css de supersocializer
function my_custom_scripts(){
if ( is_single() ) {
wp_dequeue_script('the_champ_ss_general_scripts');
// more scripts to dequeue
}
}
add_action('wp_enqueue_scripts', 'my_custom_scripts', 100);
///Désactiver le css de recent_viewed_posts
add_action( 'wp_enqueue_style', 'my_deregister_styles', 100 );
function my_deregister_styles() {
wp_deregister_style( 'ft_viewed_stylesheet' );
// deregister as many stylesheets as you need...
}
///Remove Query String from Static Resources***/
function remove_cssjs_ver( $src ) {
if( strpos( $src, '?ver=' ) )
$src = remove_query_arg( 'ver', $src );
return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );
add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
/// Créer l'appel d'articles par catégorie
function aww_post_by_category($atts, $content = null) {
extract(shortcode_atts(array(
"nb" => '10',
"orderby" => 'post_date',
"order" => 'DESC',
"category" => '1'
), $atts));
global $post;
$tmp_post = $post;
$myposts = get_posts('showposts='.$nb.'&orderby='.$orderby.'&category='.$category);
$out = '<ul>';
foreach($myposts as $post){
setup_postdata( $post );
$out .= '<li><a href="'.get_permalink().'">'.the_title("","",false).'</a></li>';
}
$out .= '</ul>';
wp_reset_postdata();
$post = $tmp_post;
return $out;
}
add_shortcode("post-by-category", "aww_post_by_category");
///Créer 4 zones widgets dans le footer
if ( function_exists('register_sidebar') ) {
register_sidebar( array(
'name' => __( 'First Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-4',
'description' => __( 'First footer widget area', 'twentyfourteen' ),
'before_widget' => '<div class="textwidget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
) );
// Area 6, located in the footer. Empty by default.
register_sidebar( array(
'name' => __( 'Second Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-5',
'description' => __( 'Second footer widget area', 'twentyfourteen' ),
'before_widget' => '<div class="textwidget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
) );
// Area 7, located in the footer. Empty by default.
register_sidebar( array(
'name' => __( 'Third Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-6',
'description' => __( 'The third footer widget area', 'twentyfourteen' ),
'before_widget' => '<div class="textwidget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
) );
// Area 8, located in the footer. Empty by default.
register_sidebar( array(
'name' => __( 'Fourth Footer Widget Area', 'twentyfourteen' ),
'id' => 'sidebar-7',
'description' => __( 'The fourth footer widget area', 'twentyfourteen' ),
'before_widget' => '<div class="textwidget">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widget-title">',
'after_title' => '</h4>',
) );
}
///Ajouter un menu top
register_nav_menus( array(
'MainLight' => 'Menu light pour pages',
'MainMob' => 'Menu pour mobiles',
) );
///Modifier les résumés
// Retirer get_the_excerpt filter
function aww_remove_excerpt_filter() {
remove_filter( 'get_the_excerpt', 'twentyfourteen_custom_excerpt_more' );
}
add_action( 'after_setup_theme', 'aww_remove_excerpt_filter' );
// Ajouter un joli lien "READ MORE"
function aww_custom_excerpt_more( $output ) {
if ( has_excerpt() && ! is_attachment() ) {
$output .= aww_continue_reading_link();
}
return $output;
}
add_filter( 'get_the_excerpt', 'aww_custom_excerpt_more' );
// Retirer the excerpt_more filter
function aww_remove_auto_excerpt_filter() {
remove_filter( 'excerpt_more', 'twentyfourteen_excerpt_more' );
}
add_action( 'after_setup_theme', 'aww_remove_auto_excerpt_filter' );
// Ajouter un joli lien "READ MORE"
function aww_auto_excerpt_more( $more ) {
return '… ' . aww_continue_reading_link();
}
add_filter( 'excerpt_more', 'aww_auto_excerpt_more' );
// Retourner "READ MORE" avec un lien
function aww_continue_reading_link() {
return ' <a href="'. esc_url( get_permalink() ) . '">' . __( '[+++]', 'twentyfourteen' ) . '</a>';
}
///Retirer Hentry class des pages
function themeslug_remove_hentry( $classes ) {
if ( is_page() ) {
$classes = array_diff( $classes, array( 'hentry' ) );
}
return $classes;
}
add_filter( 'post_class','themeslug_remove_hentry' );
//Changer le texte commentaire
add_filter('comment_form_defaults','comment_reform');
function comment_reform ($arg) {
$arg['title_reply'] = __('* Je peux apporter mes solutions');
return $arg;
}
/// Ajouter un titre et une catégorie au formulaire COMMENTAIRES
//Ajouter les champs titre et catégorie au formulaire pour les users loggés et non loggés
add_action( 'comment_form_logged_in_after', 'additional_fields' );
add_action( 'comment_form_after_fields', 'additional_fields' );
function additional_fields () {
echo '<p class="comment-form-title">'.
'<label for="title">' . __( 'Titre (Je peux...)' ) . '</label>'.
'<input id="title" name="title" type="text" size="30" tabindex="5" /></p>';
echo '<strong><label for="category">Cette solution est particulièrement utile...</label></strong>
<select id="category" name="category">
<option value=""></option>
<option value="Tous">Dans tous les cas</option>
<option value="Argent">Sans argent</option>
<option value="Temps">Sans le temps</option>
<option value="Santé">Sans la santé</option>
</select>';
}
// Enregistrer le titre et la catégorie avec le commentaire
add_action( 'comment_post', 'save_comment_meta_data' );
function save_comment_meta_data( $comment_id ) {
if ( ( isset( $_POST['title'] ) ) && ( $_POST['title'] != '') )
$title = wp_filter_nohtml_kses($_POST['title']);
add_comment_meta( $comment_id, 'title', $title );
if ( ( isset( $_POST['category'] ) ) && ( $_POST['category'] != '') )
$category = wp_filter_nohtml_kses($_POST['category']);
add_comment_meta( $comment_id, 'category', $category );
}
//Retirer le template Comment popularity
if ( class_exists( 'CommentPopularity\HMN_Comment_Popularity' ) ) {
$cp = CommentPopularity\HMN_Comment_Popularity::get_instance();
remove_filter( 'comments_template', array( $cp, 'custom_comments_template' ) );
}
//Permettre aux anonymes de voter pour les solutions (Comment popularity)
add_filter( 'hmn_cp_allow_guest_voting', '__return_true' );
/// Compter les vues des articles
add_filter('manage_posts_columns', 'pview_column_register');
add_action('manage_posts_custom_column', 'pview_column_display',10,2);
add_filter( 'manage_edit-post_sortable_columns', 'pview_column_register_sortable' );
add_filter( 'request', 'pview_column_orderby' );
function getpview($postID){
$count_key = 'pview_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
return "0 fois";
}
return $count.' fois';
}
function setpview($postID) {
$count_key = 'pview_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '1');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
function pview_column_register($newcolumn){
$newcolumn['pview'] = __('Vues');
return $newcolumn;
}
function pview_column_display($column_name, $id){
switch ($column_name) {
case 'pview' :
$count_key = 'pview_count';
$count = get_post_meta($id, $count_key, true);
if ($count != '') {
echo $count;
}else{
echo '0';
}
break;
}
}
function pview_column_register_sortable($columns) {
$columns['pview'] = 'pview';
return $columns;
}
function pview_column_orderby( $vars ) {
if ( isset( $vars['orderby'] ) && 'pview' == $vars['orderby'] ) {
$vars = array_merge( $vars, array(
'meta_key' => 'pview_count',
'orderby' => 'meta_value_num'
) );
}
return $vars;
}
///Appeler les commentaires de l'utilisateur
add_shortcode ( 'show_recent_comments', 'show_recent_comments_handler' );
function show_recent_comments_handler( $atts, $content = null )
{
extract( shortcode_atts( array(
"count" => 10,
"pretty_permalink" => 0
), $atts ));
$output = ''; // this holds the output
if ( is_user_logged_in() )
{
global $current_user;
get_currentuserinfo();
$args = array(
'user_id' => $current_user->ID,
'number' => $count, // how many comments to retrieve
'status' => 'approve'
);
$comments = get_comments( $args );
if ( $comments )
{
$output.= '<ul class="solutionlist">';
foreach ( $comments as $c )
{
$output.= '<li>';
if ( $pretty_permalink ) // uses a lot more queries (not recommended)
$output.= '<a href="'.get_comment_link( $c->comment_ID ).'"><h3>';
else
$output.= '<h3><a href="'.get_option('siteurl').'/?p='.$c->comment_post_ID.'#comment-'.$c->comment_ID.'">';
$output.= get_the_title( $c->comment_post_ID);
$output.= '</h3></a></p><p>';
$output.= $c->comment_content;
$output.= '</br>Posté le ';
$output.= get_the_date( $c->comment_date);
$output.= '</p></li>';
}
$output.= '</ul>';
}
}
else
{
$output.= '<h2>Vous devez être connecté pour voir vos solutions.</h2>';
$output.= '<h2><a href="'.get_settings('siteurl').'/wp-login.php?redirect_to='.get_permalink().'">Connectez-vous maintenant</a></h2>';
}
return $output;
}
///Formater le box auteur
function author_box() {
// On récupère les url des champs du profil de l'auteur et on les place dans un tableau (array).
$social_names = array( 'user_url', 'twitter', 'facebook', 'gplus', 'linkedin', 'dribbble', 'pinterest', 'instagram' );
$social_urls = array();
/* Pour chaque champ (foreach) :
* Si l'auteur n'a pas renseigné le champ, on ne le récupère pas.
* Sinon, on récupère le champ et on ajoute 'http' devant si l'auteur l'a oublié.
*/
foreach( $social_names as $social_name ) {
$link = get_the_author_meta( $social_name );
if( !empty( $link ) ) {
if( strpos( $link, "http" ) === 0) {
$new_url = 'http://' . $link;
}
$social_urls[$social_name] = $link;
}
} ?>
<div id="author-meta">
<h2>A propos de l'auteur du voeu: <?php the_author_posts_link(); ?></h2>
<?php echo get_avatar( get_the_author_meta( 'ID' ), 60 ); // 60 is the avatar size ?>
<p class="bio"><?php the_author_meta( 'user_description' ); ?></p>
<p class="biometa"><?php the_author_posts_link(); ?> a posté <?php the_author_posts(); ?> voeux sur <a href="http://www.allwewish.org/">AllWeWish.org</a>.</p><p class="biometa">Il ou elle peut être contacté par les moyens suivants:
<?php if ( !empty( $social_urls ) ) { ?>
<div class="author-social">
<?php echo '<ul class="sociallist">'; ?>
<?php
foreach ( $social_urls as $social_name => $social_url ) {
echo '<li class="sociallist"><a href="'.$social_url.'">'.$social_name.' | </a></li>';
}
?>
<?php echo '</ul>'; ?>
</div>
</p>
<?php } ?>
</div>
<?php } ?>
Any further advise? Maybe on the functions.js code?