it-swarm.asia

ربط للنشر وتحميل الصفحة

أحتاج إلى تشغيل وظيفة عند تحميل منشور أو صفحة معينة. هل هناك أي ربط يتيح لي التحقق مما إذا كان يتم عرض منشور أثناء تحميل الصفحة؟

17
Poulomi Nag

يمكنك استخدام الخطاف wp والتحقق من كائن global $wp_query أو أي شرطية.

add_action( 'wp', 'wpse69369_special_thingy' );
function wpse69369_special_thingy()
{
    if (
        'special_cpt' === get_post_type()
        AND is_singular()
    )
        return print "Yo World!";

    return printf(
        '<p>Nothing to see here! Check the object!<br /></p><pre>%s</pre>',
        var_export( $GLOBALS['wp_query'], true )
    );
}

راجع: wp في codex.wordpress.org و wp في developer.wordpress.org

22
kaiser

استخدم template_redirect وهو ربط الإجراء الذي يطلق النار قبل تقديم القالب ؛

add_action('template_redirect', 'hooker');
function hooker(){
    //I load just before selecting and rendering the template to screen
}
13
userabuser

لقد استخدمت في الغالب ما يلي للتحميل في مربعات تعريف مخصصة على الصفحات (بدلاً من النشرات المخصصة).

    add_action('admin_init','how_we_do_it_meta');

    function how_we_do_it_meta() {

        if ( $_SERVER['SCRIPT_NAME'] == '/wp-admin/post.php' ) {

            $post_id = $_GET['post'] ? $_GET['post'] : $_POST['post_ID'];
            $template_file = get_post_meta($post_id,'_wp_page_template',TRUE);

            if ($template_file == 'page-how-we-do-it.php') {

                add_meta_box('how_we_do_it_who-meta', 'Who we work with...', 'how_we_do_it_who', 'page', 'normal', 'high');

                add_action('save_post', 'save_how_we_do_it_meta');

            }
        }
    }
0
darronz