WordPress ACF Save Post-Funktion, muss nur ausgelöst werden, wenn die gespeicherte Seite ein benutzerdefinierter Post-Typ ist. Oder, wenn Feld vorhanden ist?

Lesezeit: 1 Minute

Ich versuche, die zu manipulieren my_acf_save_post Funktion, um etwas zu rechnen und ein Feld mit der resultierenden Zahl zu aktualisieren. Dieser Teil funktioniert, die Felder full_market_price Und Beispielpreis werden verwendet, um zu trainieren berechneter_preis.

Ich habe das vor einigen Tagen gemacht, habe aber jetzt ein Problem, wenn ich versuche, eine Seite oder einen Beitrag zu speichern, der diese Funktion nicht benötigt und die ACF-Felder nicht enthält. Also jeder Abschnitt der Website und nicht nur der 1, der diese Mathematik erfordert. Es führt zu verschiedenen Fehlern und ich kann die Seiten nicht richtig speichern.

Wie kann ich dafür sorgen, dass dieses Code-Snippet nur funktioniert, wenn die Seite, die gespeichert wird, innerhalb des benutzerdefinierten Beitragstyps liegt? Die anderen Seiten werden also nicht beschädigt?

Ich versuche etwas mit
if (is_single() && is_post_type('nameofposttype'))

Ich kann es jedoch nicht richtig verstehen, PHP ist nicht mein Stärkstes! Ist eine bessere Möglichkeit zu fragen, ob die Felder nicht vorhanden sind, dann nichts zu tun?

Vielen Dank für jede Hilfe oder Idee,

function my_acf_save_post( $post_id ) {

// get values
$fmp = get_field('full_market_price');
$saPercent = get_field('example_price');

// do something
$examplePrice = ($fmp / 100) * $saPercent;
update_field('calculated_price', $examplePrice, $post_id);

}

add_action('acf/save_post', 'my_acf_save_post', 20);

Ich bin gerade auf ein ähnliches Problem gestoßen. Ich würde so etwas tun:

function my_acf_save_post ($post_id) {

  // If not CPT, exit
  if (get_post_type($post_id) != 'nameofposttype') {
    return;
  }

  // Remainder of code
  ...

}
add_action('acf/save_post', 'my_acf_save_post', 20);

1446420cookie-checkWordPress ACF Save Post-Funktion, muss nur ausgelöst werden, wenn die gespeicherte Seite ein benutzerdefinierter Post-Typ ist. Oder, wenn Feld vorhanden ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy