ACF, Makerlog und Datumsfeld in WP Job Manager

In einem der letzten Beiträge ging es noch darum, dass Advanced Custom Fields nicht mehr für den Block Editor (Gutenberg) geeignet ist und ich deshalb Block Lab empfehle. Das hat sich schon fast geändert. Außerdem gibt es Neuigkeiten zu Makerlog und einen Schnipsel dafür, wie ihr ein eigenes Datumsfeld im WP Job Manager anlegt.

ACF und der Block Editor

In der aktuellen Beta-Version von ACF (Advanced Custom Fields) lassen sich eigene Blöcke mittels PHP erstellen. Das Ganze funktioniert kinderleicht und schon recht gut. Support dazu gibt es wie gewohnt im Support Forum von ACF. Weitere führende Links:

Makerlog Version 2.0

Makerlog ist eine öffentliche Aufgabenverwaltung (meine Interpretation) und hilft mir meine Arbeit zu erledigt. Dort liste ich meine Todos anonym auf und arbeite sie deshalb schneller ab. Mit Version 2.0 gab es einige Neuerungen und Verbesserungen. Außerdem läuft die Seite jetzt wesentlich schneller und sieht zudem noch etwas schicker aus.

Wer also gerne Kontakt zu anderen „Machern“ aufnehmen und seine Arbeit mit der Community teilen möchte, ist dort bestens aufgehoben.

WP Job Manager: Datumsfeld einfügen

Zum Schluss noch ein kurzer Schnipsel (OOP) zum Einfügen eines eigenen Datumsfeld in den WP Job Manager. Im Netz gibt es dazu leider keine Hilfestellungen, deshalb musste ich selbst im Code herumsuchen – vor allem weil die Dokumentation vom WP Job Manager aufgrund der Preispolitik nur rudimentär bestückt ist. Vielleicht hilft dir der Schnipsel ja auch.

Ich habe nicht viel kommentiert, weil der Code ziemlich selbst erklärend ist (Meiner Meinung nach).

new StartDate;

class StartDate
{
  // die eigene textdomain zum übersetzen
  public $textdomain = 'my-domain';

  public function __construct() {

    // feld fürs frontend registrieren
    add_filter( 'submit_job_form_fields', [ $this, 'frontend_field' ] );

    // feld für den adminbereich registrieren
    add_filter( 'job_manager_job_listing_data_fields', [ $this, 'admin_field' ] );

    // feld im frontend ausgeben
    add_action( 'single_job_listing_meta_end', [ $this, 'frontend_callback' ] );
  }

  public function frontend_field( $fields ) {
    $fields['job']['job_startdate'] = [
      'label'       => __( 'Jobangebot Startdatum', $this->textdomain ),
			'classes'     => [ 'job-manager-datepicker' ],
      'type'        => 'date',
      'placeholder' => null,
      'priority'    => 7,
      'required'    => false,
    ];
    
    return $fields;
  }

  public function admin_field( $fields ) {
    $fields['_job_startdate'] = [
      'label'       => __( 'Jobangebot Startdatum', $this->textdomain ),
			'classes'     => [ 'job-manager-datepicker' ],
      'placeholder' => null,
      'type'        => 'text',
      'description' => ''
    ];
    
    return $fields;
  }

  public function frontend_callback() {
    global $post;

    $start = get_post_meta( $post->ID, '_job_startdate', true );

    if ( $start ) {
      $timestamp = strtotime($start);
      $start = human_time_diff(get_the_time('U'), $timestamp);
      echo '<li class="date-posted">' . sprintf( __( 'Start in %s', $this->textdomain ), esc_html( $start ) ) . '</li>';
    }
  }
}

Helpful Update

Für Helpful gab es ein kleines Update. Zum einen wurden Scripte die im Frontend geladen werden korrigiert und zum Anderen gibt es ein neues Design (simple). Das Design ist ungefähr so aufgebaut, wie das aktuelle Design hier bei Pixelbuben. Also ohne Border usw.

Kevin Pliester

Kevin Pliester

Langhaarig und bärtig. Schreibt hier über WordPress, Internet, Gaming und die Selbstständigkeit. Vertreibt viel zu günstige WordPress Wartungen und ist angestellter Web-Entwickler.

Das könnte dich auch interessieren

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.