Uprawnienia zapisu/odczytu plików w WordPress – Jakie są poprawne ?
2 marca 2016
[WordPress – Filtr Dnia] Wyłączenie błędów logowania lub zmiana komunikatu błędu
3 marca 2016

[WordPress – Akcja Dnia] Wymagany obrazek wyróżniający przed zapisem

Obrazek wyróżniający wpisu pełni kilka funkcji – Jest przekazywany mediom społecznościowym, zachęca (lub zniechęca) do odwiedzin i zapoznania się z treścią, a np. w przypadku blogów fotograficznych jest wręcz wymagany.

Poniższa Akcja nie opublikuje wpisu, zanim obrazek nie zostanie dodany podczas tworzenia artykułu w WordPressie.

add_action('save_post', 'jcz_sprawdz_obrazek');
add_action('admin_notices', 'jcz_obrazek_brak');

function jcz_sprawdz_obrazek( $post_id ) {
  if( get_post_type($post_id) != 'post' )
      return;
  if(get_post_status($post_id) == 'auto-draft')
      return;
  if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)
      return;
  if(!isset($_POST['action']))
		return;
  if ( ! has_post_thumbnail( $post_id ) ) {
    set_transient( "has_post_thumbnail", "no" );
    remove_action('save_post', 'jcz_sprawdz_obrazek');
    wp_update_post(array('ID' => $post_id, 'post_status' => 'draft'));

    add_action('save_post', 'jcz_sprawdz_obrazek');
  } else {
    delete_transient( "has_post_thumbnail" );
  }
}

function jcz_obrazek_brak() {
  if ( get_transient( "has_post_thumbnail" ) == "no" ) {
    echo "<div id='message' class='error'><p><strong>Musisz dodać obrazek wyróżniający - Post został zapisany</strong></p></div>";
    delete_transient( "has_post_thumbnail" );
  }
}

Powyższa akcja zapisze post, ale nie pozwoli go opublikować – jest dla Ciebie bezpieczna.

Zobacz Również: Jak Tworzyć Piękne grafiki na bloga ?

Gdzie wpisać kod Akcji WordPressa?

Możesz dodać go do własnej wtyczki lub pliku functions.php motywu – Pamiętaj, że jeżeli dodajesz go do motywu bezpośrednio, a nie przez motyw potomny – po aktualizacji motywu utracisz wprowadzone zmiany.

Aktualizacje

2016-03-08 – Dziękuję Sebastianowi za pomoc w aktualizacji funkcji.
2016-09-07 – Ponownie dziękuję, za udoskonalenie skryptu Sebastianowi – Naprawiłem błąd przy usuwaniu wpisów i przenoszeniu ich do kosza

Jakub Jaworowicz
Jakub Jaworowicz
Marketingiem zajmuję się od 15 roku życia, zacząłem od brzydkich stron w kreatorze stron usługi Republika serwisu Onet - obecnie obsługuje ponad 200 klientów i 450 serwisów WWW rocznie, które tworzyłem lub mam je pod swoją opieką (w zakresie wsparcia i utrzymania). Ostatnio etatowo pracowałem jako Specjalista ds Marketingu w największym ogrodniczym sklepie internetowym (SADOWNICZY.PL) oraz Kierownikiem działu wsparcia sprzedaży dla tego sklepu.

Komentarze są wyłączone.