Beste SD'ers,
graag zou ik als newbie een beroep doen op alle kennis die hier aanwezig is.
Ik ben momenteel bezig met een project waarbij het de bedoeling is dat er wordpress posts gefilterd/gezocht kunnen worden op leestijd van het artikel.
Inmiddels heb ik het via de plugin estimated-reading-time voor elkaar om deze tijd weer te geven op de door mij gewenste plekken.
Ik heb alleen geen idee hoe ik het voor elkaar kan krijgen dat artikelen ook gezocht/gefilterd kunnen worden op de estimated-reading-time.
De plugin is hier te vinden:
Klik
Ik hoop dat iemand mij misschien uit de brand kan helpen.
- Wordpress estimated-reading-time doorzoekbaar maken?
-
16-06-2015, 08:55 #1
- Berichten
- 68
- Lid sinds
- 15 Jaar
Wordpress estimated-reading-time doorzoekbaar maken?
-
-
16-06-2015, 11:09 #2
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: Wordpress estimated-reading-time doorzoekbaar maken?
Het nadeel van WP web-"ontwikkelaars". Zodra je ook maar iets out-of-the-box denkt en er is geen plugin beschikbaar dan wordt het al een heel spektakel. Daarom ben ik niet zo van de WordPress. Ontwikkelaars zijn geen ontwikkelaars meer maar plugin-bij-elkaar-zoekers. (no offence).
Bekijk eens hoe die estimated-reading-time plugin werkt. Waarschijnlijk schat hij gewoon een tijd gebaseerd op het aantal woorden in een tekst.
Stel je leest 400 woorden per minuut dan is de geschatte tijd om een tekst van 800 woorden te lezen 2 minuten.
Als je dat weet kun je in mysql zoeken op tekstlengte. Bijvoorbeeld een gebruiker zoekt op teksten van 2 minuten dan zoek je in je database naar teksten van 700 tot 900 tekens lang.
SELECT * FROM artikelen WHERE CHAR_LENGTH(artikel) => 700 AND CHAR_LENGTH(artikel) <= 900;
Maar zoals gezegd, hoewel de functie op zichzelf niets voorstelt, zal het wel een heel spektakel zijn om in te bouwen ;)
-
16-06-2015, 11:15 #3
- Berichten
- 68
- Lid sinds
- 15 Jaar
Re: Wordpress estimated-reading-time doorzoekbaar maken?
Hallo Wilbert,
hartstikke bedankt voor je reactie. Ik ben het zeker met je eens dat ik ook geen 'ontwikkelaar' ben. Hoewel ik de meeste dingen wel kan 'lezen', blijft schrijven van custom scripts altijd een ergernis, de kennis ontbreekt hier vaak.
Desalniettemin ben ik van mening dat voor de 'huis-tuin-en-keuken'-websites WordPress altijd erg fijn werkt en meestal wel genoeg is.
In dit geval dus helaas niet, vandaar ook mijn 'shout-out' haha ;).
De plugin schat inderdaad op die manier de read-time, hij print de output alsvolgt:
PHP Code:
function post_read_time() { $words_per_second_option = get_option('post_readtime_wpm'); $prefix = stripslashes(html_entity_decode(get_option('post_readtime_prefix'))); $suffix = stripslashes(html_entity_decode(get_option('post_readtime_suffix'))); $time = get_option('post_readtime_time');
$post_id = get_the_ID(); $content = apply_filters('the_content', get_post_field('post_content', $post_id)); $num_words = str_word_count(strip_tags($content)); $minutes = floor($num_words / $words_per_second_option); $seconds = floor($num_words % $words_per_second_option / ($words_per_second_option / 60)); $estimated_time = $prefix; if($time == "1") { if($seconds >= 30) { $minutes = $minutes + 1; } $estimated_time = $estimated_time.' '.$minutes . ' minut'. ($minutes == 1 ? '' : 'en'); } else { $estimated_time = $estimated_time.' '.$minutes . ' minuut'. ($minutes == 1 ? '' : 's') . ', ' . $seconds . ' second' . ($seconds == 1 ? '' : 's'); } if($minutes < 1) { $estimated_time = $estimated_time." < 1 minuut"; }
$estimated_time = $estimated_time.$suffix; echo $estimated_time;
}
In de database kan ik helaas ook de output per artikel niet terugvinden...
-
16-06-2015, 11:52 #4
- Berichten
- 1.410
- Lid sinds
- 16 Jaar
Re: Wordpress estimated-reading-time doorzoekbaar maken?
De plug-in slaat deze gegevens niet op maar berekend dit keer op keer als de pagina laadt. Je kan er dus niet op zoeken omdat de output voor het laden van de pagina nog niet bekend is.
In de database moet je niet zoeken naar de output van deze plug-in (het bestaat niet in de database) maar naar de tekst van het artikel.
De lengte van de tekst is namelijk gelijk aan de output van de plug-in. Dus eigenlijk moet je een zoekfunctie maken op basis van tekst lengte.
Zoekt iemand bijvoorbeeld naar een tekst van 2 minuten dan zoek je in de database naar een tekst rond de 800 woorden.
Het commentaar was trouwens niet over jou persoonlijk hoor. Maar over 80% van de WP community. ;-)
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic