Empecher Le remplissge du table wp-link lors de la creation d’un blog

Suite à la migration du forum, chaque utilisateur devra lancer une procédure de réinitialisation du mot de passe pour pouvoir se connecter. Merci !

  • Statut : non résolu
15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Articles
  • #508296

    sammmohh
    Membre
    Initié WordPress
    4 contributions

    Salut,

    Ma configuration WP actuelle
    – Version de WordPress 3.3.1 :
    – Version de PHP/MySQL :
    – Thème utilisé :
    – Extensions en place :
    – Nom de l’hebergeur :
    – Adresse du site :

    Remplissage automatique de la table wp-link lors de la creation d’un nouveau blog :

    Quand je crée un nouveau blog, il y a toujours 7 liens dans la table wp-link. Je veux faire en tel sorte que ces liens soient les miens et non ceux proposés par wordpress.
    Alors quel fichier faut il modifier? J’ai parcouru plusieurs pour voir si je peux trouver le fichier qui crée la base donnée lors de l’installation mais je ne l’ai pas, j’avais cru qu’il s’agit d’install.php mais je n’ai pas vu des requêtes sql dans ce dernier.
    merci de m’aider

    #827479

    Lumiere de Lune
    Participant
    Maître WordPress
    20124 contributions

    C’est dans un fichier core de wordpress, upgrade.php

    #827480

    sammmohh
    Membre
    Initié WordPress
    4 contributions

    Merci, j’ai bien vu.
    sinon dans dashboard, right Now, comment enlever:

    Theme Twenty Eleven with 6 Widgets
    You are using WordPress …
    Storage Space

    #827481

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    Salut sammmohh,

    Ne modifie pas trop le core, à la première mise à jour où tu ne feras pas attention dans un mauvais jour, tu cliqueras et bye bye les changements.

    Pour tricher un peu sans passer par un hook wordpress, avec un peu de css.

    #dashboard_right_now .versions {
    display: none !important;
    clear: none !important;
    }

    Tout au bout de la feuille de style admin.css du thème (si elle existe) sinon test en d’autres

    Et si çà ne fonctionne pas dans aucune feuille de style http://codex.wordpress.org/Function_Reference/wp_enqueue_style

    if(is_admin())
    {
         wp_enqueue_style(‘donner-un-nom-au-style’, ‘url vers la feuille de style’);
    }

    #827482

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    Pour ce qui est d’ effacer complètement les liens lors d’une nouvelle installation (en faite, en trichant, lors de l’activation du thème), il suffit de faire un hook (une accroche sur cet évènement).

    la function devrait ressembler à quelque chose comme ceci à ajouter dans function.php du thème (je n’ai pas encore tester car il se fait tard, donc test sur un blog de test pour du multi-sites ou au minimum en localhost). Crée plutôt un thème enfant de ton thème principal comme ceci (simplement faire un dossier nouveau-theme/function.php et placer ceci dans function.php (à tester en localhost, il se fait tard et j’ai pas encore tester).

     $value)
    		{
    			$wpdb->query(« DELETE FROM $wpdb->links WHERE link_url= ». $value . » »);
    		}
    	update_option(‘kw_first_activation’, ‘1’);
    	}
    }

    Normalement, çà doit être la méthode « propre » pour faire ce que tu veux faire sans toucher au core.

    Après tu peux faire évoluer la function pour ajouter tes liens…

    Edit: corriger la function

    #827483

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    Avec création de nouveaux liens

     $value)
    		{
    			$wpdb->query(« DELETE FROM $wpdb->links WHERE link_url= ». $value . » »);
    		} 
    		
    		//Maintenant on insert les nouveaux liens
    		$wpdb->insert( $wpdb->links, array(‘link_name’ => ‘my link 1’, ‘link_url’ => ‘http://yourlink.org/’));
    		$wpdb->insert( $wpdb->links, array(‘link_name’ => ‘my link 2’, ‘link_url’ => ‘http://yourlink.org/news/’));
    
    	update_option(‘kw_first_activation’, ‘1’);
    
    	}
    }
    ?>

    #827484

    Lumiere de Lune
    Participant
    Maître WordPress
    20124 contributions

    Pour les dashborads, je pense qu’il y a plus propre ^^

    function remove_dashboard_widgets() {
    	remove_meta_box( ‘dashboard_quick_press’, ‘dashboard’, ‘side’ );
    	remove_meta_box( ‘dashboard_primary’, ‘dashboard’, ‘side’ );
    } 
    add_action(‘wp_dashboard_setup’, ‘remove_dashboard_widgets’ );

    comme je pense que la question est posée pour une plateforme MU, à mettre dans un petit fichier de plugin à la racine de mu-plugins

    je pense d’ailleurs qu’on doit pouvoir y mettre tes fonctions (que je conserve précieusement ^^) ce qui évitera de se poser des questions sur les themes activés ou pas.

    #827485

    Guy
    Participant
    Maître WordPress
    14940 contributions

    à regarder, développer et tester: WordPress fournit les fonctions wp_insert_link et wp_delete_link qui permettent à la fois de remplir tous les champs d’un enregistrement mais aussi mettent à jour les relations avec les catégories

    #827486

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    Bonjour Guy,

    pour wp_delete_link($link_id) $link_id -> Si le site existe déjà depuis un temps, et si l’utilisateur switch de thème et que l’utilisateur à déjà supprimer les liens par defaut wordpress, $link_id (1,2,3,4,5,6,7) n’existeront pas, ou pire, si un thème ou un plugin d’export d’un blog « modèle » crée déjà d’autres liens (et unset les liens wp lors de la création), wp_delete_link va supprimer des liens légitimes.

    Dans le doute, faut toujours se dire « ne jamais faire confiance à l’utilisateur » lol.

    ps: metabox est bien mieux c’est sûr ^^ (j’avais la flemme de regarder les id sous Firebug pour trouver les bons id de ces meta boxes lol)

    #827487

    Guy
    Participant
    Maître WordPress
    14940 contributions

    évidement, mais je n’aurai pas utilisé le hook sur le thème pour ce genre de choses, je me serai servi du hook classique d’installation d’un blog, le hook n’est appelé qu’une seule fois lors de la création d’un blog, cela me parait plus approprié (et réponds à la question posée par ailleurs)

    #827488

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    Ton code faudra bien le placer quelque part, hors ici, si l’utilisateur utilise un thème original wp tu dois modifier les fichiers du thème qui sera écraser à la première mise à jour.

    Ou alors comme tu dits, c’est au choix mais je sais pas où tu va mettre ta fonction pour un thème original wp

    #827489

    Guy
    Participant
    Maître WordPress
    14940 contributions

    On est supposé être dans un multisite, mon code est à placer dans un plugin par le super administrateur, rien à voir avec un thème.
    Il sera automatiquement appelé à chaque création de blog, dans le cas présent, il effacerait tous les liens et rajouterait ceux choisis par le super admin.

    Les admins des autres sites n’ont aucun choix dans ce processus, ils se voient attribuer les liens choisis (à la création)

    #827490

    Lumiere de Lune
    Participant
    Maître WordPress
    20124 contributions

    Toutafé ^^

    Il faut à tout prix éviter de mettre les fonctions qui touchent aux données dans les thèmes.

    #827491

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    oui, je le saurais pour la prochaine fois lol

    #827492

    KwarK
    Membre
    Padawan WordPress
    51 contributions

    pas sûr qu’un plugin c’est du niveau de notre ami mais bon… continuez fouettez moi j’aime çà lol

15 sujets de 1 à 15 (sur un total de 15)
  • Vous devez être connecté pour répondre à ce sujet.