Sisu Marketing

WordPress: lisage oma teema postituste loendisse esiletõstetud pildiveerg, kasutades funktsioonis.php

WordPressi pistikprogramm hõlmab lisakulusid, mis nõuab, et WordPress laadiks ja haldaks pistikprogrammi. See hõlmab pistikprogrammide kataloogi lugemist, värskenduste kontrollimist ja pistikprogrammi metaandmete haldamist. Alati, kui töötan optimeerimise kallal Martech Zone Või kliendi WordPressi installi puhul analüüsin alati kasutatavaid pluginaid, koodi kvaliteeti, mõju saidile ja seda, kui palju funktsionaalsust kasutatavas pluginas on.

Tihti leian, et pluginad on ülepaisutatud, halvasti arendatud ja lisavad ebavajalikku koormust, mis võib saidi või administreerimise tööd aeglustada. Kui tegemist on lihtsa funktsiooniga, eemaldan tavaliselt plugina ja muudan hoopis lapseteema faili functions.php. Kui kood paigutatakse lapseteema faili... functions.php failina on see otse teemasse integreeritud, mis võib ressursikasutuse osas olla veidi tõhusam.

Lõppkokkuvõttes peaks teie valik arvestama ka selliste teguritega nagu koodi korraldus, hooldus ja teie projekti erivajadused.

Lisa esiletõstetud pildi veerg postituste loendisse

Ma käitasin pluginat Martech Zone mis lisas postituste loendisse veeru koos Objekte piltKahjuks oli pluginil ebavajalike lisaseadete ja ressurssidega ülepaisutatud, näiteks video, mis oli ammu maha võetud. Analüüsisin pluginat ja sain aru, kuidas nad pildi veeru lisasid... ning seejärel muutsin pluginat mõne lisafunktsiooniga, näiteks lisasin hiirega üleviimisel esiletõstetud pildi pealkirja ja mõõtmed.

Siin on kood:

function add_featured_image_column($columns) {
    // Create a new column with the name "img"
    $columns['img'] = 'Featured Image';
    return $columns;
}

function customize_featured_image_column($column_name, $post_id) {
    if ($column_name == 'img') {
        // Get the featured image URL
        $thumbnail_url = get_the_post_thumbnail_url($post_id, 'thumbnail');

        // Check if a featured image is set
        if ($thumbnail_url) {
            // Get the original image URL
            $original_url = get_the_post_thumbnail_url($post_id, 'full');
            // Get the dimensions of the original image
            list($original_width, $original_height) = getimagesize($original_url);

            // Get the actual title
            $actual_title = get_the_title($post_id);

            // Define the title attribute for the image
            $image_title = $actual_title . ' (' . $original_width . 'px by ' . $original_height . 'px)';

            // Display the thumbnail image with a maximum height of 80px and add dimensions to the title attribute
            echo '<img src="' . esc_url($thumbnail_url) . '" style="max-height: 80px;" title="' . $image_title . '" />';
        } else {
            // No featured image is set, display "No featured image"
            echo 'No featured image';
        }
    }
    return $column_name;
}
add_action('manage_posts_columns', 'add_featured_image_column');
add_action('manage_posts_custom_column', 'customize_featured_image_column', 10, 2);

Siin on koodi selgitus:

  • add_featured_image_column funktsioon:
    • See funktsioon lisab WordPressi administraatoripaneeli postituste loendisse kohandatud veeru. See võtab argumendina olemasolevate veergude massiivi ($columns).
    • See lisab uue veeru nimega img koos sildiga Valitud pilt.
    • See tagastab muudetud veergude massiivi uue väärtusega img veerg lisatud.
  • customize_featured_image_column funktsioon:
    • See funktsioon vastutab sisu kohandamise eest. img veerg iga loendi postituse kohta.
    • See võtab kaks parameetrit: $column_name (praeguse töödeldava veeru nimi) ja $post_id (praeguse postituse ID).
    • See kontrollib, kas praegu töödeldav veerg on img (meie lisatud kohandatud veerg).
    • Kui see on img veerus hangib ja kuvab see esiletõstetud pildi ja lisateabe.
    • See kasutab get_the_post_thumbnail_url et hankida esiletõstetud pildi URL pisipildi suuruses.
    • See kontrollib, kas esiletõstetud pilt on seatud, kinnitades, kas $thumbnail_url ei ole tühi.
    • Kui esiletõstetud pilt on määratud, hangib see ka algse (täissuuruses) pildi URL-i ja selle mõõtmed, kasutades get_the_post_thumbnail_url ja getimagesize.
    • See hangib postituse tegeliku pealkirja, kasutades get_the_title.
    • See konstrueerib title pildi atribuut vormingus „Pealkiri: Tegelik pealkiri (algne laius pikslites korda algne kõrgus pikslites)”.
    • See kuvab pisipildi maksimaalse kõrgusega 80 pikslit ja määrab pealkirja atribuudi loodud failile. $image_titleSaate seda kõrgust vastavalt oma soovile muuta.
    • Kui esiletõstetud pilti pole määratud, kuvatakse teade „Esiletõstetud pilti pole määratud”.
    • Funktsioon tagastab muudetud sisu img kolonni.
  • add_action read:
    • Need jooned haakuvad add_featured_image_column funktsioon manage_posts_columns tegevus ja customize_featured_image_column funktsioon manage_posts_custom_column tegevus. See seostab need funktsioonid WordPressi postituste haldamise ekraaniga.

    Nende toimingute lisamisega loob kood WordPressi administraatori postituste loendisse uue kohandatud veeru, mis kuvab iga postituse esiletõstetud pilti koos pealkirja ja mõõtmetega. Kui esiletõstetud pilti pole, kuvatakse see Esiletõstetud pilti poleSee võib olla kasulik funktsioon administraatoriala postituste haldamiseks ja ülevaatamiseks, eriti teemadega töötamisel, mis tuginevad suuresti esiletõstetud piltidele.

    Siin on eelvaade selle toimimisest Martech Zone kus ma hiirega kolmandas reas esiletõstetud pildi kohal liigun:

    Postituste loend koos esiletõstetud pildi veeruga

    Filter postituste jaoks, millel pole esiletõstetud pilti

    Teine funktsioon, mille lisasin, oli filter, et saaksin hõlpsalt tuvastada postitusi, millel polnud esiletõstetud pilte.

    function add_no_featured_image_filter() {
        global $post_type;
        
        // Check if the current post type is 'post' (you can change it to the desired post type)
        if ($post_type == 'post') {
            $selected = (isset($_GET['no_featured_image']) && $_GET['no_featured_image'] == '1') ? 'selected' : '';
            echo '<select name="no_featured_image" id="no_featured_image">
                <option value="" ' . $selected . '>All Posts</option>
                <option value="1" ' . selected('1', $_GET['no_featured_image'], false) . '>No Featured Image</option>
            </select>';
        }
    }
    
    function filter_no_featured_image_posts($query) {
        global $pagenow;
    
        // Check if we are on the posts page and the filter is set
        if (is_admin() && $pagenow == 'edit.php' && isset($_GET['no_featured_image']) && $_GET['no_featured_image'] == '1') {
            $query->set('meta_key', '_thumbnail_id');
            $query->set('meta_compare', 'NOT EXISTS');
        }
    }
    add_action('restrict_manage_posts', 'add_no_featured_image_filter');
    add_action('parse_query', 'filter_no_featured_image_posts');

    See kood täiustab WordPressi administraatoriala funktsionaalsust, lisades postitustele kohandatud filtri, mis võimaldab kasutajatel postitusi filtreerida selle põhjal, kas neil on esiletõstetud pildikomplekt või mitte. Siin on koodi selgitus:

    • add_no_featured_image_filter funktsioon:
      • See funktsioon loob WordPressi administraatoripaneelil postituste jaoks kohandatud filtri rippmenüü.
      • See algab praeguse postituse tüübi kontrollimisega. Selles koodis kontrollitakse konkreetselt, kas praeguse postituse tüüp on „postitus”, aga saate seda muuta mis tahes soovitud postituse tüübiks.
      • Kui postituse tüüp sobib, genereeritakse filtri rippmenüü.
      • Filtri rippmenüü on HTML-fail <select> element nimega „no_featured_image” ja ID-ga „no_featured_image”.
      • See sisaldab kahte valikut:
        • „Kõik postitused” (vaikimisi valik): see valik valitakse, kui ühtegi konkreetset filtreerimist pole rakendatud.
        • „Ilma esiletõstetud pildita”: see suvand valitakse siis, kui kasutaja soovib filtreerida postitusi, millel pole esiletõstetud pilti.
      • Nende valikute valik määratakse URL-i päringuparameetrite ($_GET) ja kas no_featured_image parameeter on seatud väärtusele '1'.
      • . selected Funktsiooni kasutatakse päringuparameetrite väärtuste põhjal selleks, et teha kindlaks, kas suvand tuleks märkida valitud valikuks.
      • Funktsioon kordab filtri rippmenüü HTML-i.
    • filter_no_featured_image_posts funktsioon:
      • See funktsioon muudab päringut nii, et see filtreerib postitusi esiletõstetud pildi olemasolu või puudumise alusel.
      • Esmalt kontrollib see, kas oleme WordPressi administraatori alas ja lehel „edit.php”, mis on postituste haldamise leht.
      • Seejärel kontrollitakse, kas no_featured_image Päringuparameeter on seatud väärtusele '1', mis näitab, et kasutaja soovib filtreerida postitusi, millel pole esiletõstetud pilti.
      • Kui filter on aktiivne, kasutab see set päringu muutmise meetod:
      • See määrab meta_key et _pisipildi_id, võti, mida kasutatakse esiletõstetud pildi ID salvestamiseks postituse metaandmetesse.
      • See määrab meta_compare väärtuseks „NOT EXISTS”, mis filtreerib sisuliselt postitused, kus metavõtit „_thumbnail_id” ei eksisteeri. Teisisõnu, see filtreerib postitused, millel pole esiletõstetud pilti.
      • See funktsioon kohandab päringut filtrivaliku põhjal.
    • add_action read:
      • 1. add_action joon haakub kinni add_no_featured_image_filter funktsiooni toimingule 'restrict_manage_posts'. Seda toimingut kutsutakse välja postituste haldamise jaotise kuvamisel ja see võimaldab teil lisada kohandatud filtreid ja juhtelemente.
      • 2. add_action joon haakub kinni filter_no_featured_image_posts funktsiooni toimingule 'parse_query'. See toiming kutsutakse välja enne päringu käivitamist, mis võimaldab teil päringut kohandatud filtrite põhjal muuta.

      Siin on filtri eelvaade:

      Lisa postituste loendi filter esiletõstetud pildi puudumise jaoks

      Nende toimingute lisamisega loob kood WordPressi administraatori postituste loendisse kohandatud filtri, mis võimaldab teil postitusi filtreerida selle põhjal, kas neil on esiletõstetud pilt või mitte, muutes postituste haldamise ja korraldamise lihtsamaks.

      Douglas Karr

      Douglas Karr on SaaS-i ja tehisintellekti ettevõtetele spetsialiseerunud turundusjuht, kes aitab laiendada turundustegevust, edendada nõudluse genereerimist ja rakendada tehisintellektil põhinevaid strateegiaid. Ta on ettevõtte asutaja ja väljaandja. Martech Zone, juhtiv väljaanne… Veel »
      Tagasi üles nupule
      lähedal

      Adblock tuvastatud

      Me toetume reklaamidele ja sponsorlusele, et säilitada Martech Zone tasuta. Palun kaaluge reklaamiblokeerija keelamist või toetage meid taskukohase ja reklaamivaba aastase liikmelisusega (10 USA dollarit):

      Registreeru aastaseks liikmeks