Aangemaakte reacties

7 reacties aan het bekijken - 16 tot 22 (van in totaal 22)
  • De koppelingen-widget behoort tot de “core” van WordPress, dus daar blijf je af. Beter is om een standaard-widget nemen, zoals de tekst-widget. In die widget moet je op één of andere manier php scripts kunnen aanroepen. Dat kan op meerdere manieren: (i) een plugin die dat toestaat (php-exec bijv) of (ii) shortcodes. De shortcode-handler kan je definiëren in je functions.php bestand. Ik prefereer een nieuw bestand waarin je al je eigen functies zet, dat je met include_once() in je functions.php in scope brengt. Anders wordt het zo’n puinhoop. Shortcode is de beste oplossing omdat het het veiligst is (geen php in je widget of post) en je blog crasht niet als de shortcode handler verdwenen is (Bij een upgrade bijv).

    Voorbeelden
    Als je in wat voorbeelden bent geïnteresseerd: Op de blog staan een aantal schilderijen in eenvoudige text-widgets. Zij worden met shortcodes aangeroepen. In de tweede sidebar van rechts staat een opsomming van rubrieken (met figuur van appel en peer). Die (dat?) widget komt van een plugin (samsarin php) die php-code toelaat. Een voorbeeld van php-exec plugin vind je hier. Scroll helemaal naar beneden. Het (Ajax-gedreven) rekenmachientje staat op een apart php bestand dat met include_once() wordt aangeroepen. Zo blijft het bericht schoon en kan de php code apart worden getest.

    Conditioneel laten zien van een widget.
    Dat kan je op verschillende manieren oplossen. Je hebt nodig:
    (i) een widget
    (ii) een manier om php te kunnen gebruiken

    Omdat php toestaan een mogelijk veiligheidslek is, moet je heel voorzichtig zijn. De plugin php-exec bijv. laat toe dat je overal (posts, widgets, etc) php kan gebruiken. Verder gaat die plugin niet goed samen met TinyMCE (kan je wel oplossen).

    De oplossing die ik gebruik is het volgende: als widget neem ik die wordt geleverd door de samsarin php plugin. Die plugin staat php toe in de widget. Het al dan niet tonen van de widget wil je niet “hard coderen” in de plugin. Dus heb ik de plugin aangepast. Om verlies van aanpassingen te voorkomen bij opwaarderen van de plugin, heb ik de aangepaste plugin een beetje van naam veranderd en van auteur ed. De originele plugin opnieuw geïnstalleerd maar niet geactiveerd. Nu geeft mijn pluginpagina twee zeer op elkaar lijkende plugins achter elkaar, waarvan er één, de aangepaste, geactiveerd is. Als het dashboard mijn waarschuwt dat ik deze plugin moet opwaarderen, zie ik meteen dat ik moet oppassen.

    Aanpassingen
    In de plugin option pagina heb ik een extra textarea aangebracht waar je php code in kan zetten. Die code wordt opgeslagen in de options van de plugin in de database. In de functie spw_widget() van de plugin breng ik de volgende conditie aan:

    $condition = trim($options[$number]['condition']);
        if ($condition) {
          eval("\$flShowWidget = $condition;");
        }
        if ($flShowWidget != 1 &&  !is_admin() ) {
           return;
        }

    Als je een widget altijd will laten zien dan zet je de conditie “TRUE;” in de option page. Werkt prima. De is_admin() conditie is om ervoor te zorgen dat de options page nog goed werkt. Het goede van de samsarin php plugin is dat je er net zoveel instanties van kan genereren als je wil

    Waarschuwing
    Een blog crasht heel makkelijk indien er nieuwe php code in wordt gezet. Dus altijd eerst testen. Verder kan het zijn dat je een functie aanroept die van een plugin afkomstig is. Deactiveren van de plugin geeft dan alsnog een crash. Daarom: gebruik altijd de conditie: function_exists()

    Dit soort problemen kan worden veroorzaakt door een (firewall) module van de Apache server van je webhoster. Get gaat om de module mod_sec . Vraag aan je hoster of bovenstaand probleem kan zijn veroorzaakt door een verkeerd geconfigureerde mod_sec.

    Je kan een abonnement nemen op een monitor-service. Dat kost geld, maar is meestal de eerste maand gratis. Bijv, hyperspin. Of InternetVista

    Forum: Overige
    In antwoord op: Beste NL hosting voor WP?

    Prijs is niet het belangrijkste. Als je genoeg webruimte e.d. hebt, telt vooral (i) uptime, (ii) de laadsnelheid van een html pagina, (iii) de snelheid van de mysql server, en (iv) de snelheid van de ftp service. Geen enkele hoster geeft je snelheidsgaranties over deze diensten. Meld je vooral aan bij een gratis, uitgebreide, ping-dienst als je eenmaal voor een bepaalde hoster hebt gekozen. Je zult in veel gevallen onaangenaam verrast zijn door de lage kwaliteit van je hoster. Ook al dacht je dat alles in orde was.

    Dit is wel heel weinig informatie.
    Is er helemaal niks veranderd?

    Kan je met een ftp-client checken of de foto’s wel ge-upload zijn?

    Patrick,

    je moet iets specifieker zijn, want ik zie geen problemen op je site.
    Een mogelijke complicatie is dat als je hoster een Apache-server gebruikt je het .htaccess bestand in de root van je wordpress moet aanpassen met andere rewrite rules. WordPress doet dat ook, maar dat gaat wel eens fout. Omdat jij geen clean url’s gebruikt (je url’s bevatten /?p=) zal dit bij jou waarschijnlijk geen probleem zijn.

    De WordPress data-base bevat twee entries waar de absolute site url neergezet wordt. Dat kan je soms niet aanpassen via je admin panel omdat je te maken hebt met een kip-en-ei probleem. Wat ik dan doe is handmatig in de database die twee entries aanpassen. Je kan direct in de database aanpassingen uitvoeren als je het gratis programma phpMyAdmin gebruikt. Vaak zorgt je provider al voor dat programma. Het gaat om de tabel “wp_options” met de variabelen “siteurl” en “home”. “home” kan leeg zijn, maar mag zeker niet de url van de oude site bevatten.

    Voortaan wel eerst je nieuwe site uitproberen voordat je hem online zet.

7 reacties aan het bekijken - 16 tot 22 (van in totaal 22)