我正在开发一个填充空白插件(https://github.com/liquidchurch/lqd-notes) 这一直在起作用。
我意识到插件正在加载它的样式js,并在每个页面上插入一个div,而不仅仅是它自己的自定义帖子类型(“lqdnotes”)。因此,我使用了一个简单的if语句来确保只有在cpt存在时才传递代码。
它发生在以下位置:
lqd-notes.php
function lqdnotes_enqueue_css() {
if ( get_post_type( get_the_ID() ) == \'lqdnotes\' ) {
$lqdcssversion = filemtime( LQDNOTES_DIR . \'public/css/lqdnotes.css\' );
wp_enqueue_style(
\'lqdnotes-css\',
plugins_url( \'public/css/lqdnotes.css\', __FILE__ ),
array(),
$lqdcssversion
);
}
}
add_action( \'enqueue_block_assets\', \'lqdnotes_enqueue_css\' );
public/display-filled.php
function lqdnotes_enqueue_display_filled() {
if ( get_post_type( get_the_ID() ) == \'lqdnotes\' ) {
$lqdfilterinputversion = filemtime( LQDNOTES_DIR . \'public/js/lqdnotes-filter-inputs.js\' );
wp_enqueue_script(
\'lqdnotes-filter-inputs\',
LQDNOTES_URL . \'public/js/lqdnotes-filter-inputs.js\',
array( \'jquery\' ),
$lqdfilterinputversion
);
$ajax_array = array(
\'ajax_url\' => admin_url( \'admin-ajax.php\' )
);
wp_localize_script(
\'lqdnotes-filter-inputs\',
\'lqdnotes_ajax\',
$ajax_array );
}
}
add_action( \'wp_enqueue_scripts\', \'lqdnotes_enqueue_display_filled\' );
public/modify-display.php
function lqdnotes_enqueue_display_blanks() {
if ( get_post_type( get_the_ID() ) == \'lqdnotes\' ) {
$lqdfilterspanversion = filemtime( LQDNOTES_DIR .\'public/js/lqdnotes-filter-span.js\' );
wp_enqueue_script(
\'lqdnotes-filter-spans\',
plugin_dir_url( __FILE__ ) . \'js/lqdnotes-filter-span.js\',
array(),
$lqdfilterspanversion
);
}
}
add_action( \'wp_enqueue_scripts\', \'lqdnotes_enqueue_display_blanks\' );
function lqdnotes_add_div( $content ) {
if ( get_post_type( get_the_ID() ) == \'lqdnotes\' ) {
$updated_content = \'<div id="message-notes" class="message-notes">\' . $content . \'</div>\';
return $updated_content;
}
}
add_filter( \'the_content\', \'lqdnotes_add_div\' );
当我将插件和浏览器激活到一个内容页面(比如test.liquidchurch.com)时,页眉和页脚会显示出来,但没有页面内容。。这发生在不属于CPT的页面上。
但是,如果我打开其中一个CPT页面,所有内容都会正确显示(请参阅https://test.liquidchurch.com/blog/notes/breakthrough/).
查看测试页面上的内容。液化教堂。com应该看起来像去liquidchurch。com。可以看到,页面中有内容,如果我在测试中禁用notes插件。液化教堂。com它也会出现在那里(在解决这个问题之前,我已经在live站点上禁用了插件)。