Robíme WordPress #7 - Jarné upratovanie a editácia dashboardu

napísal , 2 Feb 2013 [ PHP Tutoriály Videá ]

Dnešné video je plné škaredej roboty, na konci ktorej nie je víťazstvo, ale treba ju spraviť. Upraceme rozbordelený functions.php, zakážeme WordPressu generovať žvásty a upravíme admin dashboard, pretože môžeme.

Vytvoríme adresár, do ktorého narozbíjame kúsky pôvodného functions.php, od ktorého dáme odkazy na nové súbory, nejak takto:

/**
 * Sidebars and Widgets 
 */
require_once( TEMPLATEPATH . '/functions/sidebars-and-widgets.php' );

/**
 * Custom Posts and Shortcodes
 */
require_once( TEMPLATEPATH . '/functions/custom-posts-and-shortcodes.php' );

...

TEMPLATEPATH je konštanta, ktorá v sebe nesie cestu k adresáru témy. Je to ekvivalent funkcie get_template_directory, ale je to kratšie a teda krajšie, aj keď niektorí odporúčajú používať funkcie. Je to na vás. Existuje aj STYLESHEETPATH a get_stylesheet_directory a tak podobne.

 
Ukážeme si aj nejaké nové funkcie, napríklad na vypisovanie užitočnejšieho HTML title textu:

/**
 * HTML title
 */
function y_html_title()
{
	if ( is_home() )
	{
		bloginfo( 'name' );
		echo ' | ';
		bloginfo( 'description' );
	}
	else
	{
		wp_title( '|', true, 'right' );
		bloginfo( 'name' );
	}
}

 
A naučíme sa odstraňovať "zbytočnosti" z dashboardu:

/**
 * odstranime zbytocnosti z dashboardu
 */
add_action( 'admin_menu', 'edit_admin_menus', 999 );
function edit_admin_menus()
{
	remove_menu_page('link-manager.php');
	remove_menu_page('edit-comments.php');
	remove_submenu_page('themes.php', 'theme-editor.php');
	remove_submenu_page('plugins.php', 'plugin-editor.php');
}

 
A potom ho preusporiadame:

/**
 * preusporiadanie menu
 */
add_filter( 'custom_menu_order', 'custom_menu_order' );
add_filter( 'menu_order', 'custom_menu_order' );

function custom_menu_order( $menu_ord )
{
	if ( !$menu_ord ) return true;

	return array(
		'index.php', // Dashboard
		'separator1', // First separator
		'edit.php', // Posts
		'edit.php?post_type=featured', // Featured
		'edit.php?post_type=page', // Pages
		'upload.php', // Media
		'separator2', // Second separator
		'themes.php', // Appearance
		'plugins.php', // Plugins
		'users.php', // Users
		'tools.php', // Tools
		'options-general.php', // Settings
		'separator-last', // Last separator
	);
}

 


Stiahnite si tému: amazeballs_v036.zip

napísal , 2 Feb 2013

31 komentárov

komentuj ku každému komentáru sa v databáze ukladá iba meno, text a dátum, iba za účelom zobrazenia pod článkom
neukladá sa email, IP adresa ani informácie o prehliadači a údaje sa nepoužívajú na reklamu, newsletter, na žiadnu ekonomickú aktivitu, nikam sa neposielajú, sú v databáze len aby sa mohli zobraziť pod článkom
  1. Leeter [ Sobota 2.2.2013, 20:02 ]

    UFFFF už jsem myslel, že to nikdy nepřijde. :DD Bál jsem se, že jsi přešel čistě na Unicorn Space Show. :O

  2. 81403 (blade) [ Nedeľa 3.2.2013, 10:43 ]

    Ja ešte celkom rád upratovávam TinyMCE:
    predtým: http://8.brm.sk/t/clipboard_2013-02-03_10-26-04.png
    potom: http://8.brm.sk/t/clipboard_2013-02-03_10-24-05.png

    V prvom rade je dobré pridať vizuálnemu editoru vlastné CSS korešpondujúce s témou na blogu:

    add_editor_style('css/editor.css');

    A tlačítka sa upratujú takto:

    function my_tinymce_settings ($initArray)
    {
    	$initArray['theme_advanced_blockformats'] = 'p,h3,h4'; // co sa ma zobrazit v dropdowne
    	$initArray['body_class'] = 'editorPage'; // trieda kontainera tinymce
    	return $initArray;
    }
    
    add_filter( 'tiny_mce_before_init', 'my_tinymce_settings' );
    
    function my_mce_buttons_1 ($buttons)
    {
    	return array(
    		'formatselect',
    		//'styleselect',
    		'bold',
    		'italic',
    		'bullist',
    		'blockquote',
    		'removeformat',
    		'|',
    		'link',
    		'unlink',
    		'wp_more',
    		'|',
    		'undo',
    		'redo',
    	);
    	return $buttons;
    }
    
    function my_mce_buttons_2 ($buttons)
    {
    	return array();
    }
    
    add_filter('mce_buttons', 'my_mce_buttons_1');
    add_filter('mce_buttons_2', 'my_mce_buttons_2');

    Protip: s PHP 5.3+ netreba trapošiť s vymýšlaním názvov funkcií, keďže pozná anonymné funkcie.. čiže napríklad by som mohol napísať

    add_filter('mce_buttons_2', function ($buttons)
    {
    	return array();
    });
  3. Cernocky [ Nedeľa 3.2.2013, 11:35 ]

    Díky za další díl ;) Btw, kdo také na Brm.sk získal achievement? :D Hrál jsem si s mráčky a bum achievement complete :D.

  4. vajcovy chleba [ Nedeľa 3.2.2013, 16:57 ]

    fiiiiha, ;) by som nepovedal. Ale ako teda, noooo teda ako ved dobre no, dakujem yablko.

  5. werdy [ Nedeľa 3.2.2013, 21:29 ]

    Ďakujem.Len dúfam že ďalšia epizóda nebude o polroka ;-)

  6. fero taraba [ Pondelok 4.2.2013, 09:55 ]

    Co to mas za temu v sublime? :)

  7. yablko [ Pondelok 4.2.2013, 12:43 ]

  8. Michal [ Štvrtok 7.2.2013, 19:32 ]

    Neuvěřitelný úvod. Rozsekalo mě to :)

  9. Quallity [ Sobota 9.2.2013, 22:54 ]

    Velikú pochvalu za tento diel :) , dúfam že budeš pokračovať . ešte raz Díki moc

  10. info [ Nedeľa 24.2.2013, 15:43 ]

    myslis, ze by si mohol prezradit ako funguje tvoja funkcia pre_r ?

  11. yablko [ Nedeľa 24.2.2013, 16:29 ]

    v podstate to je len:

    <pre>
    <?php print_r( $array ) ?>
    </pre>

    print_r vypíše štruktúrovaný obsah pola, ale keďže HTML za normálnych okolností odstraňuje medzery a entery, zobrazí sa to v jednom riadku. keď to však obalíš do <pre></pre>, zachováš medzery a entery a taby a tak to bude celé pekne, čitateľne pod sebou

    plus, myslím, že je priložená vo functions.php, takže si ju môžeš skopírovať a používať.. stačí len pre_r( $array ) a máš to

  12. info [ Nedeľa 24.2.2013, 17:45 ]

    dikes funguje to squelo.

  13. Andrej [ Štvrtok 28.2.2013, 22:25 ]

    Ahoj,
    mam problém s dizajnom WordPress šablony. Keď urobím nejaké zmeny v css kode neprejavia sa mi vzhľadovo tieto zmeny na webe. Nevieš kde by mohol byť problém? Ďakujem...

  14. yablko [ Piatok 1.3.2013, 01:19 ]

    to je veľmi všeobecná otázka, ťažko povedať
    si si istý, že edituješ správny CSS súbor?:)

  15. Andrej [ Piatok 1.3.2013, 16:43 ]

    Som si 100% istí, že editujem správny súbor.

  16. yablko [ Piatok 1.3.2013, 20:07 ]

    ťažko povedať..
    skús vymazať cache, skús kliknúť na refresh button držiac ctrl, skús iný browser
    prípadne skús toto http://markjaquith.wordpress.com/2009/05/04/force-css-changes-to-go-live-immediately/

  17. tomker [ Pondelok 11.3.2013, 19:36 ]

    Super nova epizóda Robíme WordPress...

  18. Wao [ Piatok 15.3.2013, 21:05 ]

    yes nova epizóda !

  19. Jan [ Pondelok 18.3.2013, 14:04 ]

    Fakt genialna epizoda ;) ako aj vsetky ostatne ... Klobuk dole ... uz sa neviem dockat na dalsiu ;)

  20. robo [ Štvrtok 28.3.2013, 09:39 ]

    zase sa to sekne? ze po roku dalsi diel

  21. miro [ Pondelok 22.4.2013, 13:17 ]

    yablko, bude este, prosim, nejaka dalsia cast?

  22. yablko [ Pondelok 22.4.2013, 15:52 ]

    bude:)

  23. miro [ Štvrtok 23.5.2013, 13:31 ]

    bude uz teraz niekedy? hodim potom po Tebe gros :)

  24. Milan [ Štvrtok 6.6.2013, 14:32 ]

    Bude aj wordpress 8 ?

  25. miro016 [ Nedeľa 16.6.2013, 03:07 ]

    bolo jarne upratovanie, co tak letne posedenie pri (vode) wordpress? :)

  26. miro [ Utorok 27.8.2013, 07:56 ]

    no no, to by bolo velmi fajn :)

  27. Dagoooo [ Sobota 31.8.2013, 12:22 ]

    Už sa teším viac, ako na novú časť game of thrones :D

  28. snow [ Pondelok 30.9.2013, 13:56 ]

    ahoj yablko, zijes este ?

    ja viem, ze urobit len tak nejaky videotutorial nie je len tak. Ale keby si nahodou dostal rapel, celkom by si potesil urcite nie len mna. Robis to dobre.
    Alebo aspon napis co robis ...

  29. giro [ Štvrtok 7.11.2013, 19:56 ]

    Kedy bude dalši diel? :( už by som chcel navigaciu :(

  30. snow [ Nedeľa 29.12.2013, 12:47 ]

    ha zistil som, ze sa da spojit codeigniter a wordpress.

  31. Trip1e [ Streda 10.12.2014, 12:47 ]

    Už by po roku potešil nový diel.... :D

ku každému komentáru sa v databáze ukladá iba meno, text a dátum, iba za účelom zobrazenia pod článkom
neukladá sa email, IP adresa ani informácie o prehliadači a údaje sa nepoužívajú na reklamu, newsletter, na žiadnu ekonomickú aktivitu, nikam sa neposielajú, sú v databáze len aby sa mohli zobraziť pod článkom