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_columnfunktsioon:- 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.
- See funktsioon lisab WordPressi administraatoripaneeli postituste loendisse kohandatud veeru. See võtab argumendina olemasolevate veergude massiivi (
customize_featured_image_columnfunktsioon:- 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_urlet hankida esiletõstetud pildi URL pisipildi suuruses. - See kontrollib, kas esiletõstetud pilt on seatud, kinnitades, kas
$thumbnail_urlei 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_urljagetimagesize. - See hangib postituse tegeliku pealkirja, kasutades
get_the_title. - See konstrueerib
titlepildi 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_actionread:- Need jooned haakuvad
add_featured_image_columnfunktsioonmanage_posts_columnstegevus jacustomize_featured_image_columnfunktsioonmanage_posts_custom_columntegevus. See seostab need funktsioonid WordPressi postituste haldamise ekraaniga.
- Need jooned haakuvad
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:

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_filterfunktsioon:- 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 kasno_featured_imageparameeter on seatud väärtusele '1'. - .
selectedFunktsiooni 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_postsfunktsioon:- 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_imagePä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
setpäringu muutmise meetod: - See määrab
meta_keyet _pisipildi_id, võti, mida kasutatakse esiletõstetud pildi ID salvestamiseks postituse metaandmetesse. - See määrab
meta_comparevää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_actionread:- 1.
add_actionjoon haakub kinniadd_no_featured_image_filterfunktsiooni 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_actionjoon haakub kinnifilter_no_featured_image_postsfunktsiooni toimingule 'parse_query'. See toiming kutsutakse välja enne päringu käivitamist, mis võimaldab teil päringut kohandatud filtrite põhjal muuta.
- 1.
Siin on filtri eelvaade:

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.



