Ich verwende ACF innerhalb einer WordPress-Site, um einige Optionen für einen benutzerdefinierten Beitragstyp zu konfigurieren, und verwende das ACF Unique ID-Plugin, um ein Feld zu generieren, das eine eindeutige ID für das Feld erstellt. Seine Konfiguration ist extrem einfach:
class acf_field_unique_id extends acf_field {
function __construct() {
/*
* name (string) Single word, no spaces. Underscores allowed
*/
$this->name="unique_id";
/*
* label (string) Multiple words, can include spaces, visible when selecting a field type
*/
$this->label = __('Unique ID', 'acf-unique_id');
/*
* category (string) basic | content | choice | relational | jquery | layout | CUSTOM GROUP NAME
*/
$this->category = 'layout';
/*
* l10n (array) Array of strings that are used in JavaScript. This allows JS strings to be translated in PHP and loaded via:
* var message = acf._e('unique_id', 'error');
*/
$this->l10n = array(
);
// do not delete!
parent::__construct();
}
/*
* render_field()
*
* Create the HTML interface for your field
*
* @param $field (array) the $field being rendered
*
* @type action
* @since 3.6
* @date 23/01/13
*
* @param $field (array) the $field being edited
* @return n/a
*/
function render_field( $field ) {
?>
<input type="text" readonly="readonly" name="<?php echo esc_attr($field['name']) ?>" value="<?php echo esc_attr($field['value']) ?>" />
<?php
}
}
Während all dies großartig funktioniert, ist das ID-Feld als interne ID-Markierung konzipiert und muss der Endbenutzer in WordPress nicht sehen. Gibt es eine Möglichkeit, die diesem Feld zugeordnete Spalte auszublenden, damit ich keine wertvolle Bildschirmfläche verliere? Die Spalte umfasst 33 % der Breite, und da sie für ein Feld ist, das nicht benötigt wird, nimmt sie viel zu viel Platz ein. Ich habe versucht, es in CSS und Javascript zu verstecken, aber das macht die Endspalten (Repeater-Zeilennummer und die +/- Zeichen) aus irgendeinem Grund viel größer.