-
- Geplaatst op 19 november 2013 12:08
Hoe stijl je tekst in CSS zodat het lijkt alsof het in metaal geponst is?
Zoals deze tekst bijvoorbeeld?Het effect op de tekst kun je gemakkelijk bereiken met de CCS-eigenschap tekst-shadow. In bovenstaande heb ik de kleur van de tekst #333 gemaakt en voorzien van een witte schaduw rechtsonder.
color: #333;
text-shadow: 1px 1px 1px #fff;De achtergrondkleur van het tekstkader is #bbb gemaakt en door de randen van linksboven donker naar rechtsonder licht te maken krijg je het effect alsof dit is uitgefreesd. Vervolgens nog ronde hoeken en veel padding toevoegen en het geponste label is klaar. De complete CSS voor dit effect wordt dan als volgt.
display: inline-block;
width: auto;
padding: 2em;
border-radius: 5px;
border-top: 1px solid #555;
border-left: 1px solid #555;
border-right: 1px solid #eee;
border-bottom: 1px solid #eee;
background-color: #bbb;
color: #333;
text-shadow:
1px 1px 1px #fff;
Door de kleuren van de randen van licht linksboven naar donker rechtsonder te maken krijg je het effect dat het label op de ondergrond ligt.Zoals deze tekst bijvoorbeeld?
- Geplaatst op 26 oktober 2013 01:48, gewijzigd op 13 november 2013 17:25
Een favicon is die kleine afbeelding die in de url-balk en op het tabblad van de browser verschijnen als een website wordt geopend.
Voor sommige browsers is het voldoende om een favicon.ico in de root te zetten, andere browsers hebben daarvoor een verwijzing in de <head>-sectie nodig. Een icon mag een andere naam hebben, in welk geval altijd de verwijzing in de <head>-sectie nodig is. Maar beter is om gewoon favicon.ico te gebruiken.
Een favicon maak je als volgt.
- Maak een afbeelding van 16×16 of 32×32 pixels groot.
- Bewaar de afbeelding met als naam favicon in ico-formaat (als dat niet beschikbaar is dan in bmp-formaat en extensie wijzigen in favicon.ico.
- Zet favicon.ico in de root-directory van de website.
- Neem in de <head>-sectie de volgende regel op:<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon" />
- Geplaatst op 9 oktober 2013 20:03, gewijzigd op 29 oktober 2013 19:37
Internet Explorer kan als enige browser overweg met conditional HTML-tags. Doordat de tags dezelfde vorm hebben als commentaar-tags worden ze door andere browsers genegeerd. Ideaal dus om instructies door te geven die alleen bestemd zijn voor IE, zoals extra stylesheets. De conditional HTML-tags worden ondersteund door IE5 en hoger.
Voorbeeld
<!--[if IE 6]>
Speciale instructies voor IE6.
<![endif]-->Onderstaande codes worden ondersteund op het moment van schrijven:
<!--[if IE]>According to the conditional comment this is IE<![endif]-->
<!--[if IE 6]>This is IE 6<![endif]-->
<!--[if IE 7]>This is IE 7<![endif]-->
<!--[if IE 8]>This is IE 8<![endif]-->
<!--[if IE 9]>This is IE 9<![endif]-->
<!--[if gte IE 8]>This is IE 8 or higher<![endif]-->
<!--[if lt IE 9]>This is IE lower than 9<![endif]-->
<!--[if lte IE 7]>This is IE lower or equal to 7<![endif]-->
<!--[if gt IE 6]>This is IE greater than 6<![endif]-->
<!--[if !IE]> -->This is not IE<!-- <![endif]-->Let op de laatste, die heeft een afwijkende syntaxis en waarvan de inhoud voor alle browsers behalve IE is.
Uitleg syntaxis
- gt = greater then
- gte = greater then or equal to
- lt = lower then
- lte = lower then or equal to
Bron: Quirksmode
Aanvullende info: CSS Tricks - Geplaatst op 26 oktober 2013 01:44, gewijzigd op 28 oktober 2013 15:34
Om een website regelmatig automatisch te laten refreshen kun je een HTML META tag gebruiken. De volgende code zorgt elke 5 seconden voor een automatische refresh:
<META HTTP-EQUIV="REFRESH" CONTENT="5″>Doorverwijzing
Om een website automatisch na een aantal seconden door te laten verwijzen naar een andere website kan je META op de volgende manier gebruiken:
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=autoforward_target.html">Splashpage
Met de doorverwijzing kan je ook een splashpage maken voor een website. Op de root van de website wordt een pagina geladen met info of een afbeelding die na enkele seconden vervangen wordt door de home-pagina van de website. Let er echter wel op dat de splashpage geen onderdeel is van de website zelf. Omdat dan dezelfde header wordt geladen blijft de site zich steeds refreshen naar de doelpagina.
Maak daarom van de splashpagina gewoon een zelfstandige website met doorverwijzing. Als men dan eenmaal door de splashtijd heen is komt men op de site zonder dat die steeds gerefresht wordt.
- Geplaatst op 1 november 2013 11:08, gewijzigd op 5 november 2013 01:26
PHP5.3 heeft een module voor magic quotes die apostrofs en aanhalingstekens automatisch escaped als die via GET, POST of REQUEST uit een formulier worden gehaald. Als je in een invoerveld een aanhalingsteken " invoert en weer echoed naar het beeldscherm, dan verschijnt daar vrolijk \" zonder dat je daar om gevraagd had. Dat zijn magic quotes in PHP.
Magic quotes is waarschijnlijk bedoeld om gebruikersinvoer goed op het beeldscherm te zetten in HTML. Verder zou het XSS (cross site scripting) tegen kunnen gaan. Echter als je de data juist niet in HTML wilt hebben dan is het een ongelooflijk irritant ding. Daar komt dan nog bij dat het een instelling op systeemniveau is en niet op runtimeniveau, wat maakt dat je het in je script niet kunt uitzetten maar alleen op de server.
Maar aangezien je niet altijd je serverinstellingen kunt wijzigen is er gelukkig ook een andere manier: dmv een opdrachtregel in .htaccess. Voeg de volgende regel toe aan .htaccess en de magic quotes zijn even miraculeus verdwenen als dat ze kwamen.
php_flag magic_quotes_gpc OffBron: PHP Net
- Geplaatst op 5 november 2013 11:29, gewijzigd op 3 december 2013 16:45
In WordPress worden meta-boxes gebruikt om in de backend extra invoervelden mee te creëeren. Zo kun je posts, pages of custom posts voorzien van extra informatie.
Je kunt zelf de positie van de meta box bepalen, in de linker- of rechterkolom en hoe hoog ten opzichte van de andere invoervelden.
Je begint met het koppelen van de functie die de meta box registreert aan de action hook 'add_meta_boxes'. In de voorbeeldcode wordt een invoerveld toegevoegd aan de pagina's van een website. De inhoud ervan wordt op de website in een zijbalk getoond.
add_action( 'add_meta_boxes', 'pages_add_sidebar_box');
function pages_add_sidebar_box()
{add_meta_box( 'sidebar_content', 'Content zijkolom', 'pages_sidebar_content_adminpanel', 'page', 'advanced', 'high' );
}
Het eerste argument van add_meta_box() is een unieke id. Die wordt binnen WordPress gebruikt en tevens in de HTML-tag als id-argument weergegeven.
Het tweede argument is de naam van de meta box zoals je die in de backend zult gaan terugzien.
Het derde argument, hier 'pages_sidebar_content_adminpanel', is de naam van de callback-functie die de inhoud van de meta box gaat bepalen.
Het vierde argument geeft aan voor welk posttype de meta box bedoeld is.
Het vijfde argument geeft aan in welke kolom (context) de box geplaatst moet worden.
Het zesde argument hoe hoog de box in die kolom moet komen.Goed, dan komt nu uiteraard die callback functie die we in add_meta_box() aanroepen.
function pages_sidebar_content_adminpanel( $post )
{wp_nonce_field( 'change_sidebar_content_data', 'sidebar_nonce_field' );
$value = get_post_meta( $post->ID, 'sidebar_content_value', true );
echo '<textarea cols="140″ rows="10″ name="sidebar_content_value" id="sidebar_content_value">'.esc_textarea( $value ).'</textarea>';}
Het is een goede gewoonte om bij invoervelden in de backend met nonce-velden te beveiligen tegen hackers. In deze code maak ik gebruik van het interne mechanisme van WordPress voor nonce-velden.
Stel een nonce-veld in met wp_nonce_field().
Vervolgens haal je de huidige waarde van de meta box op om als default waarde in het tekstveld te kunnen tonen. Het $post-object wordt automatisch aan de callback functie meegegeven, waardoor je hier over $post->ID kunt beschikken voor get_post_meta().
En dan zorg je natuurlijk voor de HTML-output om in de meta box weer te geven, want daar ging het in deze functie om. In dit geval gebruiken we een <textarea> omdat er meerdere regels tekst in de zijbalk van de pagina kunnen worden geplaatst. Codeer de gebruikersinvoer voor gebruik in een textarea met esc_textarea() zodat die altijd goed leesbaar blijft.
Op zich is de meta box nu klaar, maar je kunt er nog niets mee omdat de waarde van het invoerveld niet wordt opgeslagen. Dat gebeurt in een aparte functie die je het beste zodanig inricht dat lege invoervelden ook worden verwijderd uit de database. Wel zo fijn om geen onnodige data achter te laten.
add_action( 'save_post', 'pages_save_sidebar_data' );
function pages_save_sidebar_data( $postid )
{if( ! current_user_can( 'edit_page', $postid ) ) return;
if( ! isset( $_POST['sidebar_nonce_field'] )
|| ! wp_verify_nonce( $_POST['sidebar_nonce_field'], 'change_sidebar_content_data' ) ) return;
$value = get_post_meta( $postid, 'sidebar_content_value', true )?
get_post_meta( $postid, 'sidebar_content_value', true ):
'NOT_SET';
$mydata = $_POST['sidebar_content_value']?
$_POST['sidebar_content_value']:
'NOT_SET';
if( ( $value == 'NOT_SET' ) && ( $mydata != 'NOT_SET' ) ):
add_post_meta( $postid, 'sidebar_content_value', $mydata, true );
elseif( ( $value != 'NOT_SET' ) && ( $mydata != 'NOT_SET' ) ):
update_post_meta( $postid, 'sidebar_content_value', $mydata );
else:
delete_post_meta( $postid, 'sidebar_content_value' );
endif;
}
Die functie met als argument de $post->ID verbind je aan de action hook 'save_post'. Omdat we data gaan vervangen of verwijderen, testen we eerst of de huidige gebruiker pagina's mag bewerken en uiteraard of de nonce klopt.
Vervolgens vragen we de huidige waarde op met get_post_meta() en de nieuwe waarde uit $_POST. Dan met een if-elseif bepalen of de invoer moet worden opgeslagen, geüpdate of verwijderd. En de meta-box is klaar voor gebruik.
Uiteraard kun je ook meerdere velden in een meta-box stoppen. Die moet je dan wel allemaal verschillende namen geven.
De waarde uit de database halen voor gebruik op de website doe je met get_post_meta().
echo get_post_meta( get_the_id(), 'sidebar_content_value', true );
- Geplaatst op 2 december 2013 16:42
Als je in een WordPress-bericht een dubbel koppelteken '--' gebruikt, dan wordt er vanuit gegaan dat dit een vergissing is en het dubbele koppelteken wordt vervangen door een enkele.
Meestal is dat prima. Maar als je bijvoorbeeld HTML-commentaar wilt tonen op je website dan kom je daarmee in de problemen.
Dus hoe zet je dat uit? Uiteraard doen we dat door de content-filter aan te passen. Neem de volgende code op in je plugin of in de functions.php van je theme.
add_filter( 'the_content' , 'undo_double_dash' , 50 );function undo_double_dash( $content )
{$content = str_replace( '–' , '--' , $content );
$content = str_replace( '—' , '---' , $content );return $content;
}
In deze code ben ik ervan uitgegaan dat je ook drie koppeltekens niet gecorrigeerd wilt hebben.
Op internet kom ik ook berichten tegen die aangeven dat je het bestand formatting.php, een van de WordPress systeembestanden moet aanpassen. Ik adviseer dat niet te doen omdat je bij een update van WordPress ineens die functionaliteit kunt verliezen.
WordPress is erg flexibel waardoor het nooit nodig zou moeten zijn om systeembestanden aan te passen. In dit geval: gebruikt de content filter zoals hierboven aangegeven, daar is die voor.
- Geplaatst op 20 november 2013 12:22
Geweldige plugin die Limit Login Attempts. Mijn ervaring met deze plugin is zeer positief. Maar wel vervelend als je als beheerder van een website urenlang niet meer kunt inloggen als gevolg van een aanval van dubieuze individuen. Ofwel, hoe kun je als beheerder weer toegang krijgen zonder te moeten wachten tot de tijd is verstreken? In dit artikel worden 3 manieren beschreven.
Het is mogelijk om bepaalde IP-adressen te whitelisten. Whitelisten is de term die wordt gebruikt voor IP-adressen die altijd toegang hebben, ook in geval van een blokkade. Voordat je dit ijverig gaat doen is het belangrijk stil te staan bij het risico dat je hiermee aangaat.
Want deze plugin is bedoeld om Brute Force Attacks tegen te houden. Deze aanvallen worden meestal door botnets uitgevoerd. Die botnets worden opgebouwd door virussen te versturen via mails, scripts op gratis toegankelijke websites en allerlei andere manieren. Als beheerder zit je nogal eens op gratis toegankelijke fora te zoeken naar informatie. En ook door die websites kan code verspreid worden om botnets op te bouwen. Als jij als beheerder jouw eigen IP-adres gaat whitelisten terwijl jouw computer zonder het te weten in een botnet zit, dan is dat een serieuze veiligheidsdreiging waar je niets meer tegen kunt ondernemen.
Dat gezegd hebbende is hier de code die de auteur van deze plugin zelf aangeeft in de FAQ van de plugin.
function my_ip_whitelist( $allow, $ip )
{return ( $ip == 'my-ip' ) ? true : $allow;
}
add_filter('limit_login_whitelist_ip', 'my_ip_whitelist', 10, 2);
Dit whitelisten kun je natuurlijk ook tijdelijk doen in geval een blokkade actief is en je wel toegang hebt tot de site via FTP.
Een andere mogelijkheid is om via FTP de plugin uit te schakelen. Dat kun je doen door het bestand …/wp-content/plugins/limit-login-attempts/limit-login-attempts.php te hernoemen of te verwijderen. Als je dan toegang hebt kun je de plugin opnieuw installeren.
Mijn voorkeur gaat echter uit naar het rechtstreeks in de database ongedaan maken van de blokkade via phpMyAdmin. Ga hierbij wel nauwkeurig te werk omdat wijzigingen in de database tot onverwacht gedrag van de website kunnen leiden. Ga met phpMyAdmin naar de WordPress tabellen en selecteer tabel wp_options. Sorteer nu op de kolom option_name en zoek de regel op met de naam limit_login_lockouts in dat veld. Maak op die regel het veld in de kolom option_value leeg. Verlaat phpMyAdmin, login in WordPress en reset de blokkades in de instellingen van de plugin.
In plaats van handmatig de waarde leegmaken, kun je dat ook doen met de SQL opdracht UPDATE wp_options SET option_value = " WHERE option_name = 'limit_login_lockouts'. Let er hierbij wel op dat je eerst de SQL opdrachten box leegmaakt alvorens deze opdracht daarin te kopiëren.
- Geplaatst op 2 november 2013 17:43, gewijzigd op 5 november 2013 01:26
De huidige categorie bepalen in een categorie template kan het makkelijkst met get_category( get_query_var( 'cat' ) ). Het argument get_query_var( 'cat' ) levert de categorie ID op.
$current_cat = get_category( get_query_var( 'cat' ) );
echo 'De huidige categorie is '.$current_cat->name.'.'; - Geplaatst op 28 oktober 2013 23:28, gewijzigd op 3 november 2013 13:51
Ingelogde bezoekers krijgen in WordPress automatisch de admin bar of toolbar als ze de font end van de website bezoeken. In versie 3.3 is de toenmalige admin bar vervangen door de nieuwe toolbar. Er zijn verschillende redenen denkbaar waarom je die uit zou willen zetten.
In versies voor 3.3 kun je dat doen door in de functions.php van je theme, of in je plugin bestanden de volgende code op te nemen.
show_admin_bar( false );Vanaf versie 3.3 wordt hiervoor de volgende code aangeraden.
add_filter( 'show_admin_bar', '__return_false' );Voorbeeld
De toolbar uitzetten voor alle gebruikers behalve admins.
if( ! current_user_can( 'manage_options' ) ) add_filter( 'show_admin_bar', '__return_false' );Bron: WordPress codex
-
Zoeken
Toolbox login