web-dev-qa-db-fra.com

Comment vérifier si la page statique actuelle est frontpage depuis le plugin admin

Je mets la page statique en page d'accueil.

J'ai besoin de savoir si l'utilisateur actuellement sur la page d'accueil dans mon plugin personnalisé.

Fonctions is_home () et is_front_page () ne fonctionne pas, car la page d'accueil est une page statique.

Je peux obtenir un identifiant de cette page:

$frontpage_id = get_option('page_on_front');

Mais comment obtenir l'id de la page en cours du plugin admin? (Ensuite, je pourrai comparer ces identifiants et détecter si la page actuelle est la page d'accueil!)

2 code vancoder:

1) Définissez n'importe quelle page statique comme page d'accueil.

2) Créer un plugin factice

3) Code du plugin:

$d = is_front_page();
var_dump($d);

==> 

bool(false)

UPD

http://codex.wordpress.org/Conditional_Tags#The_Front_Page

devrait fonctionner, par pas

2 Vancoder

Plugin Admin signifie simplement plugin :) désolé

Et ces deux lignes sont tout le contexte pour le moment, essayez-le vous-même, cela ne fonctionne pas.

WP version 3.3.2

2
sbxmal

C'est pourquoi j'ai demandé plus de contexte de code. Je dois deviner que vous recherchez la page de couverture en dehors de toute fonction accrochée ou à l'intérieur d'une fonction appelée trop tôt, avant que is_front_page () soit prêt.

Ce qui suit fonctionnera.

function your_function()  {
$d = is_front_page();
var_dump($d);
}

add_action( 'wp', 'your_function' );
2
vancoder

Je suppose que vous parlez de l'écran de l'éditeur? Si tel est le cas, vous pouvez utiliser la variable globale $post_ID:

add_action( 'edit_form_after_title', 'wpse_94626_front_page_detection' );

function wpse_94626_front_page_detection()
{
    global $post_ID, $post_type;

    if ( empty ( $post_ID ) or 'page' !== $post_type )
        return;

    if ( $post_ID === (int) get_option( 'page_on_front' ) )
        print '<p><b>This is the front page!</b></p>';
}

enter image description here

3
fuxia