✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

Kiire prototüüpimine WordPressiga: kontseptsioonist pistikprogrammini

20

Olen rääkinud eelmises artiklis WordPressi kasutamisest rakenduste kiireks arendamiseks .

Kuid mida kauem ma WordPressiga töötan ja mida rohkem koodi näen, seda rohkem potentsiaali ma mõistan, et sellel on nii kiire prototüüpimise platvorm kui ka nende prototüüpide viimine täielikult välja töötatud rakendustesse.

Need pistikprogrammid võivad olla veebirakendused, pistikprogrammid, teemad, veebisaidid ja mis iganes. Selle postituse jaoks pole see oluline. Selle asemel on oluline näiteks see, et:

  • teil on pistikprogrammi idee,
  • soovite näha, kuidas see WordPressis toimida võiks,
  • paned kiiresti midagi kokku,
  • hakkate seda viimistlema.

Paljudel, kes tegelevad tõsisema WordPressi arendusega, arvasin, et tasub vaadata, kuidas see välja näeb. Nimelt võtan ette plugina idee, prototüübi ja siis viimistlen hästi organiseeritud objektorienteeritud pluginaks.

Nii et järgmises artiklite seerias käsitlen seda protsessi.

Kiire prototüüpimine WordPressiga: kontseptsioon

Kuigi see ei ole alati nii, tekivad näiteks pistikprogrammi algsed kontseptsioonid vajadusest millegi järele, mida võiksite endale või kellelegi teisele soovida.

Kui olete nagu mina, aitab see visandada mõned esialgsed ideed selle kohta, kuidas see võiks toimida, ja teha vajalikke märkmeid, mis aitavad arendada.

Minu teravad disainioskused prototüübi jaoks.

Muidugi võivad nad teiste jaoks otsustada hüpata otse IDE-sse ja hakata koodi kallal töötama. Ja kuna praeguses faasis on see vaid kiirprototüüp, pole selles midagi halba.

Nagu ülaltoodud visandilt näete, soovin kirjutada väikese pistikprogrammi, mis kuvab minu kolm viimast postitust metakastis.

Pistikprogrammi idee on järgmine:

  • Kui ma postitust kirjutan, saan hõlpsalt viidata oma kolmele viimasele postitusele, kui tahan oma sisu suhtlusvõrgustikes jagada.

Võib-olla tundub pistikprogrammi eesmärk rumal; võibolla mitte. Pidage meeles, et kõik, mille ehitamise otsustate, peaks olema kasulik nii teile kui ka teie vaatajaskonnale. Kui keegi teine ​​sellest aru ei saa, on hästi.

Protsessi alustamine

Nüüd, kui meil on põhiidee paigas, teame, et vajame mõnda asja.

  1. WordPressi pistikprogrammi ekraanil kuvatav pistikprogrammi fail,
  2. Metabast postituste kuvamiseks,
  3. Päring postituste allalaadimiseks,
  4. Sõnumi kuvamise viis, kui kuvatavaid postitusi pole.

Mõne põhikonksu ja WordPressi API-de kasutamisega saame midagi kiiresti kokku panna. Tehke järgmist.

Plugina päis

Pidage meeles, et pistikprogrammi päis vastutab pistikprogrammi sisu – selle pealkirja, kirjelduse, versiooni ja autori – kuvamise eest pistikprogrammi ekraanil. Veenduge, et see oleks lühike, kirjeldav ja asjakohane.

<?php
/**
 * Three Recent Posts
 *
 * @package     TRP
 * @author      Tom McFarlin
 * @copyright   2017 Tom McFarlin
 * @license     MIT
 *
 * @wordpress-plugin
 * Plugin Name: Three Recent Posts
 * Plugin URI:  https://tommcfarlin.com/rapid-prototyping/
 * Description: Displays the three mot recent posts in your post editor screen.
 * Version:     0.1.0
 * Author:      Tom McFarlin
 * Author URI:  https://tommcfarlin.com
 * Text Domain: three-recent-posts
 * License:     MIT
 * License URI: http://www.gnu.org/licenses/gpl-3.0.txt
 */

Kui see on kirjutatud, ilmub pistikprogramm WordPressi haldusalasse, kuid see ei tee tegelikult midagi. Nii et anname pistikprogrammile mõned tegelikud funktsioonid.

Meta Box

Esiteks peame registreerima metakasti. Selleks saame kasutada konksu add_meta_boxes. Seda on lihtne määratleda ja meie metakastiga ühendada. Võtke teadmiseks kommentaarid iga meetodi argumendi kohta.

<?php

add_action( 'add_meta_boxes', 'three_recent_posts_meta_box' );
/**
 * Registers the Meta Box with WordPress. Defines the ID, title, display function,
 * and the post type on which it will live.
 */
function three_recent_posts_meta_box() {

    add_meta_box(
        'three-recent-posts',     // Meta Box ID.
        'Three Recent Posts',     // Meta Box Title.
        'three_recent_posts_display', // Function for rendering the meta box.
        'post',               // Post type on which this meta box will live.
        'side'                // Where the meta box will be displayed.
    );
}

Pange tähele, et meil on teabe kuvamise eest vastutav funktsioon. Peame selle määratlema, vastasel juhul proovib WordPress käivitada funktsiooni, mida pole olemas, ja see toob kaasa vea.

Defineerime nüüd selle funktsiooni :

<?php

/**
 * If there are posts to display, renders them in the metabox. Otherwise, displays
 * a note that there are no posts to display.
 */
function three_recent_posts_display() {

    $query = _three_recent_posts_get();

    if ($query->have_posts()) {
        _three_recent_posts_show_posts( $query );
    } else {
        _three_recent_posts_no_posts();
    }

}

Kui nüüd märkate, tugineb see funktsioon kolmele erinevale funktsioonile, mis aitavad tal oma tööd teha. Seega peame ka need funktsioonid määratlema. Ideaalis peaks kõigil nendel funktsioonidel olema funktsiooni eesmärk, kuid arvestades, et teeme selle projekti kiiresti prototüüpi, võib meil olla tavalisest rohkem tööd ühe funktsiooni kohta.

Postituste päring

Esiteks peame otsima postitusi. Selleks kasutame ära WP_Query.

<?php

/**
 * Defines a query for retrieving the three most recent posts and orders them by
 * descing date (with the most recent being first).
 *
 * @return WP_Query $query The query for retrieving the three most recent posts.
 */
function _three_recent_posts_get() {

    $args = array(
        'post_type'   => 'post',
        'post_status' => 'publish',
        'orderby'     => 'date',
        'order'       => 'desc',
    );
    $query = new WP_Query( $args );

    return $query;
}

Pange tähele, et tagastame päringuobjekti eksemplari. Teeme sellega kohe rohkem.

Tulemuse kuvamine

Kui kuvada on postitusi, kasutame leitud WP_Query eksemplari postituste kordamiseks funktsiooni ning renderdame püsilingi ja pealkirja järjestatud loendis.

<?php

/**
 * Creates the content for the meta box if there are posts to display. Creates a notice
 * that up to three posts will be displayed, then links to each of the three most recent
 * post.
 *
 * @param WP_Query $query The query that contains results to render in the display.
 */
function _three_recent_posts_show_posts( $query) {

    // There may not always be three posts, so display a message explaining.
    $html = '<p>';
        $html .= '<span class="description">';
            $html .= 'Displays up to the three most recent posts.';
        $html .= '</span>';
    $html .= '</p>';

    // Create an ordered lists of the most recent posts.
    $html .= '<ol>';
    while ($query->have_posts()) {
        $query->the_post();

        $html .= '<li>';
            $html .= '<a href="'. get_the_permalink(). '">';
                $html .= get_the_title();
            $html .= '</a>';
        $html .= '</li>';
    }
    $html .= '</ol>';

    echo $html;
}

Pange tähele, et see loetleb kuni kolm, kuid mitte tingimata kokku kolm.

Tulemust ei kuvata

Kui tulemusi pole, peame kuvama kasutajale teate, et päring ei leidnud postitusi. Kood võib välja näha umbes selline :

<?php

/**
 * Displays a message in the meta box if there are no recent posts.
 */
function _three_recent_posts_no_posts() {

    $html .= '<span class="description">';
        $html .= 'There are no recent posts.';
    $html .= '</span>';

    echo $html;
}

Loomulikult saate sõnumit selle jaoks ise kohandada.

Kiire prototüüpimine, tehtud.

Siin on täisfunktsionaalne pistikprogramm. Siiski pole see probleemideta:

  1. Segame HTML-i oma PHP-ga, mille tulemuseks on tihedam seos kui vaja,
  2. HTML ei ole niikuinii puhastatud ega turvaline,
  3. Nendel funktsioonidel pole absoluutselt mingit objektorientatsiooni, mis, kuigi mõned võivad väita, et pole vajalik, muudab selle väga ebamodulaarseks.

Kuid selle seeria mõte on võtta kiire prototüüp ja viia see professionaalsemasse pistikprogrammi. Seega oleme esimese osa teinud ja nüüd on aeg hakata liikuma teise faasi.

Seni saate selle pistikprogrammi arendamist GitHubis jälgida. Märgistan iga väljalase, mis vastab ajaveebi postitusele. Nii et selle konkreetse postituse leiate 0.1.0 sildist.

Põhiharu sisaldab ka kogu ühendatud koodi uusimat versiooni ja arendusharu koodi, mille kallal ma töötan, kuid mis pole täielik (ega stabiilne) .

Ja ma hakkan seda järgmises postituses tegema.

Sarja postitused

  1. Kiire prototüüpimine WordPressiga: kontseptsioonist pistikprogrammini
  2. Kiire prototüüpimine WordPressiga: kontseptsiooni analüüs
  3. Kiire prototüüpimine: prototüüp koodiks, 1. osa
  4. Kiirprototüüpimine: prototüüp koodiks, 2. osa
  5. Kiire prototüüpimine: automaatse laadimise tutvustamine

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem