29 WordPress Tweaks parantaa viestejä ja sivuja
Rakastamme WordPressia - mutta kaikki meistä eivät ole valmiita ratkaisemaan kaikki sen oletusasetukset ja näytöt - erityisesti miten viestit näytetään. Kuten opetetaan, että ainutlaatuisuus merkitsee verkkosivuston tuotemerkkiä, joka antaa kävijöille suuren vaikutelman, näiden vuosien aikana bloggaajat ja kehittäjät ovat pyrkineet säätämään postinäyttöä, jotta se olisi mahdollisimman ainutlaatuinen.
Tänään keskitymme älykkäät tweatit, joita voit tehdä WordPress-postinäytön parantamiseksi. Haluatko muuttaa postinäyttöäsi parantamaan käyttäjäkokemusta tai lisätä tuloja tai sivun näyttökertoja, on todennäköistä, että voit tehdä sen ilman laajennusta, ja useimmat tässä luetellut katkelmat ovat helposti toteutettavissa, useimmiten vain täytyy kopioida ja liittää annettu koodi.
Toivottavasti löydät nämä tweatit hyödyllisiksi projekteillesi, nauti räätälöinnistä!
Etupää
1. Muuta otteen pituus
Alla oleva nipistää muuttaa otteen pituuden, jonka voit vain lisätä seuraaviin koodiriveihin functions.php tiedosto, jossa on arvo 75 otteen pituudeksi.
add_filter ('excerpt_length', 'my_excerpt_length'); toiminto my_excerpt_length ($ len) return 75;
[Lähde: Danny van Kooten]
2. Twitter-tyyli “aikaa sitten” päivät
Useimmat ihmiset eivät tiedä, että WordPressillä on sisäänrakennettu toiminto, joka näyttää päivämäärän “Aikaa sitten” muodossa, ja alla oleva osa voidaan liittää mihin tahansa silmukan kohtaan, jolloin päivämäärä näkyy muodossa.
lähettäjä[Lähde: PHP-pätkät]
3. Näytä postin pikkukuva RSS-syötteessä
Esitetty WordPress 2.9: ssä
the_post_thumbnail ()
toiminto on erittäin hyödyllinen, kun haluat lisätä ja näyttää viestiin liitetyn pikkukuvan. Huono uutinen on, ettei sisäänrakennettua menetelmää näytä RSS-syötteen pikkukuvaa. Alla oleva toiminto ratkaisee tämän ongelman. Liitä se yksinkertaisesti functions.php tiedosto, tallenna se ja postin pikkukuva näkyy automaattisesti RSS-syötteessä.// näytä postin pikkukuvat syötteissä funktio diw_post_thumbnail_feeds ($ content) global $ post; jos (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ Sisältöä; return $ content; add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'), add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Lähde: kaivaminen WordPressiin]
4. Rajoita haku vain otsikoihin
Voit lisätä tämän katkelman functions.php WordPress-teeman tiedosto, joka rajoittaa haun vain otsikoiden lähettämiseen.
toiminto __search_by_title_only ($ search, & $ wp_query) if (tyhjä ($ search)) palauttaa $ search; // ohita käsittely - ei hakutermiä kyselyssä $ q = & $ wp_query-> query_vars; // wp-include / query.php rivi 2128 (versio 3.1) $ n =! tyhjä ($ q ['tarkka'])? ": '%'; $ search ja ="; foreach ((array) $ q ['search_terms'] kuin $ term) $ term = esc_sql (like_escape ($ term)); $ search. = "$ searchand ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; $ search ja = 'JA'; $ term = esc_sql (kuten_escape ($ q ['s'])); jos (tyhjä ($ q ['lause']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. "TAI ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; jos (! tyhjä ($ search)) $ search = "JA ($ search)"; jos (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password =") "; palauta $ search; add_filter ('posts_search', '__search_by_title_only', 10, 2);[Lähde: WpSnipp]
5. Näytä lisäysnumero jokaisessa viestissä
Alla oleva säätimen avulla voit näyttää kunkin numeron lisäysnumeron ja sen toteuttaminen on melko yksinkertaista. Liitä ensin seuraava toiminto omaan functions.php file:
funktion päivitysNumerot () global $ wpdb; $ querystr = "SELECT $ wpdb-> viestit. * FROM $ wpdb-> viestit WHERE $ wpdb-> posts.post_status = 'public' JA $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ count = 0; jos ($ pageposts): foreach ($ pageposts kuin $ post): setup_postdata ($ post); $ Laskee ++; add_post_meta ($ post-> ID, 'incr_number', $ counts, true); update_post_meta ($ post-> ID, 'incr_number', $ count); endforeach; loppu Jos; add_action ('public_post', 'updateNumbers'); add_action ('delete_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Kun olet valmis, voit näyttää postinumeron seuraavalla koodilla. Huomaa, että sitä on käytettävä silmukan sisällä.
ID, 'incr_number', true); ?>[Lähde: Alchymyth, WpRecipesin kautta]
6. Sulje viesti WordPress-syötteestä
Haluatko sulkea tietyt viestit syötteestäsi? Tässä on nipistys sinulle. Huomaa, että suodatat vain suodattimen. esimerkissämme se on syötteissämme
$ Wp_query-> is_feed
. Jos et tehnyt niin, suodatin toimii myös takapäässä ja näitä viestejä ei näytetä postin yleiskatsauksessa.Toiminnolla on kaksi parametria. Annat ensimmäisen parametrin
$ missä
SQL-merkkijonon laajennus, joka huolehtii suodatuksesta ID. Sitten suluissa sinun täytyy lisätä Postien tunnukset, jonka haluat suodattaa.toiminto fb_post_exclude ($ missä, $ wp_query = NULL) global $ wpdb; jos (! $ wp_query) maailmanlaajuinen $ wp_query; jos ($ wp_query-> is_feed) // sulje postitse tunnus 40 ja 9 $ jossa. = "AND $ wpdb-> posts.ID EI IN (40, 9)"; palauta $ missä; add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Lähde: WP-insinööri]
7. Ohjaa viesti, kun hakulauseke palauttaa yhden tuloksen
Laita tämä katkaisu functions.php WordPress-teeman tiedosto, joka ohjaa haun postitse automaattisesti, kun WordPress palauttaa vain yhden hakutuloksen.
add_action ('template_redirect', 'single_result'); toiminto single_result () if (is_search ()) global $ wp_query; jos ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> viestit ['0'] -> ID));[Lähde: WpSnipp]
8. Luo automaattisesti metakuvaus sisällöstä
Tämän katkelman lisääminen functions.php WordPress-teeman tiedosto luo automaattisesti metakuvauksen WordPress-postistasi, joka poistaa kaikki lyhytkoodit ja tunnisteet. Varmista myös, että sinulla on se header.php WordPress-teeman tai tämän katkelman osa ei toimi.
toiminto create_meta_desc () global $ post; jos (! is_single ()) palaa; $ meta = strip_tags ($ post-> post_content); $ meta = strip_shortcodes ($ post-> post_content); $ meta = str_replace (array ("n", "r", "", ", $ meta); $ meta = subst ($ meta, 0, 125); echo""; Pievienot_action ('wp_head', 'create_meta_desc');[Lähde: WpSnipp]
9. Korvaa automaattisesti sanat affiliate-linkeillä
Jos haluat korvata sanat affiliate-linkeillä automaattisesti, liitä alla oleva koodi functions.php tiedosto. Muista kirjoittaa sanat / linkit alla olevan esimerkkikoodin mukaisesti.
function korva_text_wps ($ text) $ korvata = array (// 'WORD TO REPLACE' => 'REPLACE WORD TÄMÄN "opinnäytetyöllä" =>'tutkielma',' studiopress '=>'StudioPress'); $ text = str_replace (array_keys ($ aizstaa), $ korvaava, $ text); palauta $ teksti; add_filter ('the_content', 'substit_text_wps'); add_filter ('the_excerpt', 'substit_text_wps');[Lähde: catswhoblog.com]
10. Lisää “Lue lisää” permalink to the_excerpt loppuun
Tämän katkelman lisääminen alla functions.php WordPress-teeman tiedosto lisää a “Lue lisää” permalink lopussa
the_excerpt
, melko paljon kuin mitäsisältö
tekee.toiminto excerpt_readmore ($ more) return ”… ". Lue lisää".'; add_filter ('excerpt_more', 'excerpt_readmore');[Lähde: WpSnipp]
11. Näytä liittyvät viestit ilman lisäosaa
Alla olevan koodin asentaminen tekee WordPress-sivustosi näkymästä aiheeseen liittyviä viestejä nykyisen postimerkinnän perusteella. Sinun täytyy sijoittaa se sisään single.php, tai yksinkertaisesti missä tahansa haluat näyttää asiaan liittyvät viestit.
ID); jos ($ tags) $ tag_ids = array (); foreach ($ tags kuten $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => array ($ post-> ID), 'showposts' => 5, // Näyttöön tulevien liittyvien viestien lukumäärä. 'caller_get_posts' => 1); $ my_query = uusi wp_query ($ args); jos ($ my_query-> have_posts ()) echo ”Aiheeseen liittyvät julkaisut
- '; vaikka ($ my_query-> have_posts ()) $ my_query-> the_post (); ?>
- '; ?>
[Lähde: Bin-Co]
12. Luo omia suosittuja viestejä sivupalkissa
Sivupalkin widgetin asettaminen suosittujen viestien näyttämiseen on erittäin helppoa. Kopioi ja liitä alla oleva koodi omaan sidebar.php tiedosto. Jos haluat muuttaa näytettyjen viestien määrää, voit muuttaa sitä 5 rivin 3 lopussa mihin tahansa haluamaasi numeroon.
Suositut postaukset
- get_results ("SELECT comment_count, ID, post_title FROM $ wpdb-> viestit ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ results as $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; jos ($ commentcount! = 0) ?>
[Lähde: Pro Blog Design]
13. Aseta postin päättymispäivä / aika
Alla on hyödyllinen koodi, jonka voit laittaa WordPress-teemoihisi mahdollistamalla jälkikäteen päättymisen päivämäärän ja kellonajan mukaan. Muokkaa teemaa ja korvaa nykyinen WordPress-silmukka tämän "hakatun" silmukan avulla:
$ expirationtime = get_post_custom_values ('päättyminen'); jos (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ sekuntia = strtotime ($ expirestring) -time (); jos ($ sekuntia väliltä> 0) // poikkeuksetta… the_title (); the_excerpt (); lopulta; loppu Jos; ?>
Voit luoda viestin, jossa on päivämäärä / aika, jolloin voit luoda mukautetun kentän. Antaa päättyminen avaimena ja päivämääränä / kellonaikana (muoto: mm / pp / vvvv 00:00:00) arvona. Viesti ei näy kyseisen aikaleiman jälkeen.
[Lähde: WpRecipes]
14. Luettelo tulevista viroista
WordPress mahdollistaa tulevien viestien luettelon ja tämän ominaisuuden saavuttamiseksi yksinkertaisesti liittämällä koodin mihin tahansa haluat tulevien viestien näyttämisen:
Tulevat tapahtumat
Ei tulevia tapahtumia aikataulussa.
[Lähde: WpRecipes]
15. Näytä AdSense vain hakukoneiden kävijöille
AdSensen voi näyttää kävijöille hakukoneiden tuloksista, ja tässä on koodi sen saavuttamiseksi, liitä alla oleva koodi teemaan functions.php tiedosto.
toiminto scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'haku.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE $ source) if (strpos ($ ref, $ source)! == false) palaa totta; palaa vääriä;
$ SE
array on, missä määrität hakukoneet. Voit lisätä uuden hakukoneen lisäämällä siihen uuden elementin, ja liitä sitten seuraava koodi mihin tahansa malliin, johon haluat, että AdSense-mainoksesi näytetään, ja se on tehty! Mainokset näytetään vain kävijöille hakukoneiden tuloksista.
jos (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSERT YOUR CODE HERE
[Lähde: Scratch99, WpRecipesin kautta]
Takapää
1. Salli lisää HTML-tunnisteita editorissa
Oletuksena WordPress-editori ei salli HTML-tunnisteita, jotka eivät ole XHTML 1.0 -standardin mukaisia. Alla näkyvä koodi pakottaa editorin hyväksymään lisää tunnisteita. Voit liittää sen teemaan functions.php tiedosto, tallenna se ja toiminto on hyvä mennä.
toiminto fb_change_mce_options ($ initArray) // Pilkuilla erotettu merkkijono od laajentaa tunnisteet // Komentorajoitettu laajennettujen elementtien merkkijono $ ext = 'pre [id | name | class | style], iframe [align | longdesc | nimi | leveys | korkeus | frameborder | vieritys | marginheight | marginwidth | lähde] "; jos (isset ($ initArray ['extension_valid_elements'])) $ initArray ['expand_valid_elements']. = ','. $ Ext; else $ initArray ['extension_valid_elements'] = $ ext; // ehkä; aseta pieni paramteri check_html // $ initArray ['authent_html'] = false; palauttaa $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Lähde: WP-insinööri]
2. Aseta oletusmuokkain
Alla oleva fragmentti muuttaa oletuseditoria WordPress-adminissa. Voit mennä Visuaalinen editori, tai voit valita HTML-editori, lisää vain yksi niistä functions.php tiedosto.
# Tämä asettaa visuaalisen editorin oletuksena add_filteriksi ('wp_default_editor', create_function ("," palaa "tinymce"; ')); # Tämä asettaa HTML-editorin oletuksena add_filteriksi (' wp_default_editor ', create_function ("," return "html "; '));
[Lähde: WP-pätkät]
3. Aseta eri editorityylit eri postityypeille
Kun seuraava koodi on liitetty functions.php tiedosto, voit määrittää eri editorityyppejä eri postityyppeihin. Sinun on mukautettava sitä postityyppisi mukaan ja muista vaihtaa tyylisivujen nimet yhtä hyvin.
toiminto my_editor_style () global $ current_screen; kytkin ($ current_screen-> post_type) case 'post: add_editor_style (' editor-style-post.css '); tauko; case 'page': add_editor_style ('editor-style-page.css'); tauko; case 'portfolio': add_editor_style ('editor-style-portfolio.css'); tauko; add_action ('admin_head', 'my_editor_style');
[Lähde: WPStorm]
4. Salli lisää tiedostotyyppejä
Jostain syystä WordPress Uploader ei anna sinun ladata tiettyjä tiedostotyyppejä, kuten Textmate's .tmCommand. Jos sinun täytyy ladata tällaiset tiedostot WordPress-sivustoosi, tässä on toiminnallinen katkaisu, jonka avulla voit tehdä sen, ja sinun tarvitsee vain liittää se functions.php tiedosto. Voit myös lisätä lisää tiedostotyyppejä lisäämällä ne riville 4, erotettuna putkella (|).
'application / octet-stream')); palauta $ mimes; ?> add_filter ('upload_mimes', 'addUploadMimes');
[Lähde: pioupioum.fr, WpRecipesin kautta]
5. Ota TinyMCE-editori käyttöön postitse_excerpt
Seuraavan katkelman asettaminen functions.php WordPress-teeman tiedosto lisää TinyMCE-editorin postin otteen tekstiin.
toiminto tinymce_excerpt_js () ?>[Lähde: WpSnipp]
6. Postimuodot - enemmän luovia tapoja teemalle
Alla olevassa syntaksissa on joitakin mahdollisia postimuotoja, jotka voidaan sitten valita ja käyttää suoraan artikkelissa, ja mitä sinun tarvitsee tehdä, on laittaa koodi omaan functions.php teeman aihe.
add_theme_support ('post-format', array ('syrjään', 'audio', 'image', 'video'));[Lähde: WP-insinööri]
7. Näytä Postin pikkukuva myös Muokkaa ja sivun yleiskatsausta
WordPress-versio 2.9 esitteli Post Thumbnail -toiminnon. Se on melko mahtavaa, ja voit myös näyttää Postin ja sivun yleiskatsauksen sivun pikkukuvan valitsemalla seuraavan koodin Pluginiin tai kopioimalla ne functions.php teeman tiedosto.
jos (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // postitse ja sivulle add_theme_support ('post-thumbnails', array ('post', 'post')); toiminto fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('pikkukuva'); palauta $ cols; toiminto fb_AddThumbValue ($ column_name, $ post_id) $ width = (int) 35; $ height = (int) 35; jos ('thumbnail' == $ column_name) // pienoiskuva WP: stä 2,9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', totta); // kuva galleriasta $ attachments = get_children (array ('post_parent' => $ post_id, 'post_type' => 'liitetiedosto', 'post_mime_type' => 'image')); jos ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ attachments) foreach ($ liitetiedostot $ attachment_id => $ -liitteenä) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true); jos (isset ($ thumb) && $ thumb) echo $ thumb; else echo __ ('None'); // viestien add_filter ('manag_posts_columns', 'fb_AddThumbColumn') kohdalla; add_action ('manag_posts_custom_column', 'fb_AddThumbValue', 10, 2); // sivuille add_filter ('manag_pages_columns', 'fb_AddThumbColumn'); add_action ('manag_pages_custom_column', 'fb_AddThumbValue', 10, 2);[Lähde: WP-insinööri]
8. Luo mukautettuja postin tilaviestejä admin
Kehittäjä kirjoitti alun perin tämän säätelyn tapaan, jolla asiakas voi näyttää mukautettuja viestejä jokaiselle tekijän luomalle viestille. Tässä tapauksessa viestillä voisi olla viesti hylätty, virhe, lähde, lopullinen, jne. Voit muuttaa viestejä koodin kommentin alapuolella, Mukautettujen tilaviestien joukko, vain sen varmistamiseksi, että muutit luokan nimet Lisäksi voit muuttaa niitä kommentin jälkeen, muuttaa alla olevien viestien väriä.
add_filter ('display_post_states', 'custom_post_state'); toiminto custom_post_state ($ states) global $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); jos ($ show_custom_state) $ sanoo [] = __ (''. $ show_custom_state [0]. ''); palauta $ state; add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); toiminto custom_status_metabox () global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ custom ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * Mukautettujen tilaviestien joukko * / / * ----------------------------------- * / $ custom_status = array ('Oikeinkirjoitus', 'Tarkastelu', 'Virheet', 'Lähde', 'Hylätty', 'Lopullinen'); echo ''; echo ''; echo ''; add_action ('save_post', 'save_status'); toiminto save_status () global $ post; jos (määritelty ('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); add_action ('admin_head', 'status_css'); toiminto status_css () echo ”';[Lähde: WpSnipp]
9. Aseta nimikkeen enimmäispituus
Tämän PHP-koodin lisääminen functions.php WordPress-teeman tiedosto asettaa enimmäismäärän sanoja, jotka voidaan näyttää postin otsikossa!
toiminto maxWord ($ title) global $ post; $ title = $ post-> post_title; jos (str_word_count ($ title)> = 10) // asetetaan tämä sanojen enimmäismäärään wp_die (__ ('Virhe: viestisi otsikko on yli sanan määrän.')); add_action ('public_post', 'maxWord');[Lähde: WpSnipp]
10. Miten WordPress-editorin fontti vaihdetaan
Vihaan WordPress-editorissa käytettyä fonttia? On mahdollista vaihtaa moderniin fonttiin, kuten Monacoon tai Consolasiin, liitä koodi WordPress-teemaan functions.php tiedosto.
toiminto change_editor_font () echo ""; add_action (" admin_print_styles "," change_editor_font ");[Lähde: shailan.com, WpRecipesin kautta]
11. Mukautetun kentän lisääminen automaattisesti postin / sivun julkaisemiseen
Koodinpätkä mukautetun kentän asentamiseksi automaattisesti sivulle tai postille, kun ne julkaistaan. Voit vain lisätä alla olevan koodin functions.php tiedosto, joka sijaitsee teeman kansion sisällä. Tietenkin, älä unohda muuttaa mukautetun kentän nimi.
add_action ('public_page', 'add_custom_field_automatically'); add_action ('public_post', 'add_custom_field_automatically'); toiminto add_custom_field_automatically ($ post_ID) global $ wpdb; jos (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'kentän nimi', 'mukautettu arvo', totta);[Lähde: wpCanyon]
12. Päästä eroon käyttämättömistä postimuutoksista
Tässä on erittäin kätevä SQL-kysely, joka poistaa kaikki viestien korjaukset välittömästi ja siihen liittyvän metan. Sinun on suoritettava seuraava kysely WordPress-tietokannassasi, ja kaikki muutokset (sekä siihen liittyvät metat) poistetaan tietokannastasi. Yksi tärkeä huomautus täällä, varmista, että teet varmuuskopion tietokannasta ennen koodin suorittamista.
DELETE a, b, c FROM wp_posts a WHERE a.post_type = 'tarkistus' VASEN JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[Lähde: Lesterchan.net]
13. Muuta otteen pituus kategorian mukaan
Oletko koskaan halunnut muuttaa otteen pituuden sen mukaan, minkä luokan olet? Tässä tulee koodi, joka antaa toivomuksesi. Liitä koodi vain functions.php tiedosto, ja älä unohda muuttaa luokan tunnus rivillä 3!
add_filter ('excerpt_length', 'my_excerpt_length'); toiminto my_excerpt_length ($ length) if (in_category (14)) return 13; else return 60;[Lähde: WpRecipes]
14. Poista viestien automaattinen tallennus käytöstä
Jos jostain syystä haluat poistaa toiminnon, joka tallentaa viestisi automaattisesti, kun muokkaat sitä kojelaudassa, se on mahdollista. Avaa vain functions.php tiedosto ja liitä seuraava koodi tiedostoon:
toiminto disableAutoSave () wp_deregister_script ('autosave'); add_action ('wp_print_scripts', 'disableAutoSave');[Lähde: WpRecipes]
Voit tallentaa tiedoston ja WordPress ei koskaan tallenna viestiä automaattisesti. Voit myös poistaa toiminnon poistamalla koodin.
Lisää
Etsitkö lisää WordPressin räätälöintiä? Meillä on enemmän sinulle!
- WordPress: 30 Hyödyllisiä vihjeitä ja hakuja
- WordPress: 30 Lisää temppuja ja hakuja
- WordPress: 40 Tricks And Hacks