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

Kiirnõuanne: metaandmed ja tekstisisene redigeerimine

31

Kui teil on kohandatud metakast või töötate kohandatud metaandmetega järeltasemel, võite nende hulgiredigeerimise ekraanilt salvestades komistada probleemi, mille põhjuseks on andmete kogemata kustutamine.

Probleemi seadistus on umbes selline:

  1. teil on hulk postitusi, mida tuleb muuta,
  2. laadite kõik postitused hulgiredigeerimise ekraanile (nagu ülal näidatud),
  3. rakendate muudatust.

Kui see juhtub, toimub muudatus, kuid see kustutab kõik kohandatud postituse metaandmed, mis teil võivad olla.

See on vaid väike koodinäidis sellest, kuidas teie kohandatud metaandmete salvestamismeetod välja näeb (st jätan välja mitmed kaitseklauslid):

<?php

/**
 * Save the options in the meta box.
 *
 * @since    1.0.0
 *
 * @param    int    $post_id    The ID of the current post
 */
public function save( $post_id) {

  // Note: Guard clauses removed for readability.
  // Assume $metadata is set earlier in this function.

  update_post_meta( $post_id, 'acme-custom-meta-data', $metadata );

}

Probleem on selles, et pole võimalik kontrollida, kas see tuleb hulgiredigeerimise ekraanilt. Ja seetõttu saab metaandmed täielikult kustutada.

Sellega toimetulemiseks peame kontrollima, kas serialiseerimine tuleb hulgiredigeerimise ekraanilt. Nii saame varakult naasta ja takistada koodi käivitamist. Kõige lihtsamal kujul saate teha midagi sellist :

<?php

/**
 * Save the options in the meta box. Ignore the action if it's coming from the
 * Bulk Edit screen.
 *
 * @since    1.0.0
 *
 * @param    int    $post_id    The ID of the current post
 */
public function save( $post_id) {

  // Note: Guard clauses removed for readability.
  // Assume $metadata is set earlier in this function.

  if (isset( $_POST['_inline_edit'])) {
    return;
  }

  update_post_meta( $post_id, 'acme-custom-meta-data', $metadata );

}

Pange tähele, et ma ei soovita seda sõna-sõnalt kasutada universaalsetel juhtudel ega universaalseks kasutamiseks, kuna see on agressiivne. Selle asemel arvan, et see Codexi artikkel tasub läbi lugeda, et saada rohkem teavet selle kohta, kuidas sisemine redigeerimine töötab nii serveri kui ka kliendi poolel.

Postituse eesmärk on näidata, kuidas kohandatud metaandmeid saab tahtmatult kustutada ja panna aluse sellele, kuidas seda vältida.

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