Les règles de localisation déterminent sur quels articles, pages ou contextes un groupe de champs apparaît. Les règles utilisent une structure OU/ET.
Format de règle
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' ],
],
];Paramètres pris en charge
| Paramètre | Opérateurs | Valeurs |
|---|---|---|
post_type | ==, != | Tout slug de type d’article |
post_template | ==, != | Nom de fichier de modèle ou 'default' |
post_status | ==, != | publish, draft, etc. |
post_format | ==, != | standard, video, etc. |
post_category | ==, != | ID de terme de catégorie |
post_taxonomy | ==, != | format taxonomy:term_id |
page | ==, != | ID d’article sous forme de chaîne |
page_type | ==, != | front_page, posts_page, top_level, parent, child |
page_parent | ==, != | ID de l’article parent |
current_user | ==, != | ID d’utilisateur |
current_user_role | ==, != | slug de rôle |
options_page | ==, != | slug de page d’options |
Paramètres de règle de localisation personnalisée
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' ]—