Standortregeln bestimmen, auf welchen Beiträgen, Seiten oder Kontexten eine Feldgruppe erscheint. Regeln verwenden eine OR/AND-Struktur.
Regel-Format
php
// Show on posts OR pages
$rules = [
[ [ 'param' => 'post_type', 'operator' => '==', 'value' => 'post' ] ],
[ [ 'param' => 'post_type', 'operator' => '==', 'value' => 'page' ] ],
];
// Show on pages with a specific template AND top-level only
$rules = [
[
[ 'param' => 'post_type', 'operator' => '==', 'value' => 'page' ],
[ 'param' => 'post_template', 'operator' => '==', 'value' => 'templates/landing.php' ],
[ 'param' => 'page_type', 'operator' => '==', 'value' => 'top_level' ],
],
];Unterstützte Parameter
| Param | Operatoren | Werte |
|---|---|---|
post_type | ==, != | Jeder Beitragstyp-Slug |
post_template | ==, != | Vorlagendateiname oder 'default' |
post_status | ==, != | publish, draft, usw. |
post_format | ==, != | standard, video, usw. |
post_category | ==, != | Kategorie-Begriff-ID |
post_taxonomy | ==, != | taxonomy:term_id-Format |
page | ==, != | Beitrag-ID als String |
page_type | ==, != | front_page, posts_page, top_level, parent, child |
page_parent | ==, != | Übergeordnete Beitrag-ID |
current_user | ==, != | Benutzer-ID |
current_user_role | ==, != | Rollen-Slug |
options_page | ==, != | Optionen-Seiten-Slug |
Benutzerdefinierte Standortregel-Parameter
php
add_filter( 'fieldforge/match_location_rule', function( $actual, $rule, $post ) {
if ( $rule['param'] === 'has_thumbnail' ) {
return has_post_thumbnail( $post->ID ) ? 'yes' : 'no';
}
return $actual;
}, 10, 3 );
// Usage: [ 'param' => 'has_thumbnail', 'operator' => '==', 'value' => 'yes' ]—