$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>embed - How to make enqueue_embed_scripts work with the embed_template filter|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

embed - How to make enqueue_embed_scripts work with the embed_template filter

matteradmin8PV0评论

I am currently trying to customize the display of my posts that gets embedded on other sites.

I am able to have my custom template file through the embed_template filter but I can't successfully enqueue scripts if I am using the embed template. The filter enqueue_embed_scripts works without problem if I am not using the embed_template filter. I also tried the embed_head and embed_footer hooks but I can't get them to work as well.

This is my current code:

class Test_Embed {

    public function __construct() {

        add_action( 'enqueue_embed_scripts', array( $this, 'embed_styles' ) );
        add_filter( 'embed_template', array( $this, 'my_embed_template' ) );     

    }

    public function embed_styles() { 


        wp_enqueue_style( 'myb-css', plugin_dir_url( dirname( dirname( __FILE__) ) ) . 'public/css/public.css', array(), '', 'all' );
    }



   public function my_embed_template( $template ) {

        if ( 'custom-post' === get_post_type() ) {
            return dirname( __FILE__ ) . '/templates/my-template.php'; 
        }

        return $template;

    }


}

new Test_Embed;

Is there something I missed in enqueuing scripts to the custom embed template I am using?

I am currently trying to customize the display of my posts that gets embedded on other sites.

I am able to have my custom template file through the embed_template filter but I can't successfully enqueue scripts if I am using the embed template. The filter enqueue_embed_scripts works without problem if I am not using the embed_template filter. I also tried the embed_head and embed_footer hooks but I can't get them to work as well.

This is my current code:

class Test_Embed {

    public function __construct() {

        add_action( 'enqueue_embed_scripts', array( $this, 'embed_styles' ) );
        add_filter( 'embed_template', array( $this, 'my_embed_template' ) );     

    }

    public function embed_styles() { 


        wp_enqueue_style( 'myb-css', plugin_dir_url( dirname( dirname( __FILE__) ) ) . 'public/css/public.css', array(), '', 'all' );
    }



   public function my_embed_template( $template ) {

        if ( 'custom-post' === get_post_type() ) {
            return dirname( __FILE__ ) . '/templates/my-template.php'; 
        }

        return $template;

    }


}

new Test_Embed;

Is there something I missed in enqueuing scripts to the custom embed template I am using?

Share Improve this question edited Nov 9, 2018 at 11:46 Jeda Dragon asked Nov 9, 2018 at 11:33 Jeda DragonJeda Dragon 1237 bronze badges 2
  • It looks like you're trying to use Fancybox? Keep in mind that the embedded post is inside an iframe, and you're not going to be able to launch a lightbox outside the bounds of that post preview. – Jacob Peattie Commented Nov 9, 2018 at 11:45
  • Thanks! Though it is not really my main concern for now as I am not able to enqueue and CSS and JS files. – Jeda Dragon Commented Nov 9, 2018 at 11:47
Add a comment  | 

1 Answer 1

Reset to default 1

It turns out that I just overlooked adding the do_action( 'embed_head' ) and do_action( 'embed_footer' ) in the template file that I have.

Teehee!

Post a comment

comment list (0)

  1. No comments so far