Μετάβαση στο περιεχόμενο

Early-bird άδεια εφ’ όρου ζωής: $199 εφάπαξ, μόνο για τους πρώτους 200 αγοραστές. Δείτε την προσφορά

init

Εκτελείται μόλις φορτώσει το WordPress και είναι γνωστός ο τρέχων χρήστης, πριν σταλούν κεφαλίδες. Το συνηθισμένο σημείο για νέους τύπους άρθρων.

  • Τύπος Action
  • Προέλευση WordPress
  • Από την έκδοση 1.5.0
  • Καλείται στο wp-settings.php

Πότε εκτελείται

Το init εκτελείται σε κάθε αίτημα (δημόσιο site, διαχείριση, AJAX, REST API και cron), αφού φορτώσουν το WordPress, τα plugins και το θέμα σας. Ο τρέχων χρήστης έχει ήδη οριστεί, οπότε οι is_user_logged_in() και current_user_can() λειτουργούν.

Δεν έχει σταλεί τίποτα ακόμη στον browser, αλλά ούτε το κύριο ερώτημα έχει εκτελεστεί, οπότε οι συνθήκες όπως is_page() ή is_single() δεν λειτουργούν εδώ. Για ό,τι εξαρτάται από τη σελίδα που προβάλλεται, χρησιμοποιήστε το template_redirect.

Παράμετροι

Καμία. Το callback σας δεν δέχεται ορίσματα.

Παράδειγμα: Καταχώριση προσαρμοσμένου τύπου άρθρου

PHP
add_action( 'init', function () {
	register_post_type(
		'testimonial',
		array(
			'labels'       => array(
				'name'          => __( 'Testimonials', 'my-snippets' ),
				'singular_name' => __( 'Testimonial', 'my-snippets' ),
			),
			'public'       => true,
			'has_archive'  => true,
			'show_in_rest' => true,
			'menu_icon'    => 'dashicons-format-quote',
			'supports'     => array( 'title', 'editor', 'thumbnail' ),
		)
	);
} );

Καλό να ξέρετε

  • Μετά την καταχώριση νέου τύπου άρθρου, πηγαίνετε στις Ρυθμίσεις > Μόνιμοι σύνδεσμοι και πατήστε μία φορά Αποθήκευση, για να λειτουργήσουν οι διευθύνσεις του.
  • Το init εκτελείται σε κάθε αίτημα, οπότε κρατήστε τη συνάρτηση ελαφριά. Τις αργές εργασίες βάλτε τις σε πιο συγκεκριμένο hook ή σε προγραμματισμένη εργασία.
  • Και ο πυρήνας χρησιμοποιεί το init με δικές του προτεραιότητες (τα widgets στήνονται με προτεραιότητα 1), οπότε κρατήστε την προεπιλογή 10, εκτός αν πρέπει να τρέξετε πριν ή μετά από κάτι συγκεκριμένο.

Μεταφέρετε τα snippets σας μέσα σε ένα απόγευμα.

Η εισαγωγή δεν αλλάζει τίποτα μέχρι να κάνετε τη μετάβαση, και τα παλιά σας shortcodes συνεχίζουν να λειτουργούν.