我想在我正在構建的Wordpress網站的帖子末尾添加社交按鈕(Facebook,Twitter,G +)。他們只需要顯示在帖子的永久鏈接頁面(在single.php中編輯)。因此,我的問題是,我應該把必要的腳本放在header.php中(這會將它們放在適當位置,但即使不需要它們也會始終加載),還是應該將它們放在single.php中的某個位置將意味着它們只在必要時加載,但位於<body>
中間的某處)?JavaScript應該去哪裏只在single.php必需的WordPress?
0
A
回答
1
WordPress有一個function called is_single()
,如果您目前正在處理單個頁面,則返回它。
只有在查看單個頁面時,纔可以包含腳本。你可以用
<?php if (is_single()) : ?>
<script src="http://twitter.com/path/to/bla"></script>
<?php endif; ?>
做到這一點,你可能想在頁面的末尾(收盤body
-tag前右)來加載腳本,它可以讓加載腳本之前的頁面渲染。
+0
希望這樣的東西存在,謝謝! –
0
添加在body
中間混合的腳本元素沒有任何問題,但是如果您想改善加載時間,您可能需要將script
元素附加到footer.php
。在dom的其餘部分加載後調用腳本將防止加載腳本阻止頁面的其餘部分進行呈現。
如果它是一個非常小的腳本,我覺得沒有理由不僅僅是將它們添加到內聯中,而是很容易看到它們影響的元素。
0
你可以把它們放在你的single.php的底部,但是你指出這會讓它們出現在頁面中間。
相反,把它們放在你的header.php,但內幕if語句來檢查它們是否需要(即它是一個單頁),像這樣:
<?php if (is_single()): ?>
<script>...</script>
<?php endif;?>
第一<?php
和最後?>
沒有必要/可能會導致問題,如果你把上面的代碼內部php標籤。無論哪種方式,在if語句中,應該是HTML,而不是PHP來實現這個功能。
1
執行此操作的最佳方法是使用wp_enqueue_scripts操作掛鉤。你應該總是用這個來避免衝突,並保持它帶來的所有好處。
我稍微修改了example from the doc來說明這一點:
<?php
function my_scripts_method() {
if(is_single()){
// register your script location, dependencies and version
wp_register_script('custom_script',
get_template_directory_uri() . '/js/custom_script.js',
array('jquery'),
'1.0');
// enqueue the script
wp_enqueue_script('custom_script');
}
add_action('wp_enqueue_scripts', 'my_scripts_method');
?>
相關問題
- 1. 我應該去哪裏?
- 2. Project.json工具現在應該去哪裏?
- 3. 我的方法應該去哪裏
- 4. 我的AS3 hitTest應該去哪裏?
- 5. xsd:屬性應該去哪裏?
- 6. 這些類/方法應該去哪裏?
- 7. CodeIgniter:特定功能應該去哪裏?
- 8. 共享部分應該去哪裏?
- 9. 'CreateMap'語句應該去哪裏?
- 10. Java swing - ActionListener應該去哪裏?
- 11. 錯誤檢查應該去哪裏?
- 12. QT平臺dll應該去哪裏?
- 13. SelectListItem列表應該去哪裏?
- 14. 商業邏輯應該去哪裏?
- 15. 我應該在哪裏放這個JavaScript?
- 16. 哪些代碼應該去哪裏在MVC結構
- 17. 我應該在哪一頁上只需要一個JavaScript例程?
- 18. WordPress的 - 條件標籤去哪裏header.php?
- 19. 應該在哪裏的setStyle邏輯的itemRenderer的overided方法去
- 20. 方法應該去哪裏(模型?,在別的地方)
- 21. emberjs應該在哪裏文檔準備好的功能去?
- 22. 程序需要CFLAGS = -D_GNU_SOURCE加入編譯,應該在哪裏這個去了?
- 23. omniauth.rb應該放在哪裏?
- 24. beans.xml應該放在哪裏?
- 25. 應該在哪裏工作?
- 26. gradle.jar應該放在哪裏?
- 27. startup.m應該在哪裏?
- 28. ViewModels應該放在哪裏?
- 29. 去哪裏放哪裏?
- 30. WordPress的 - 我應該在哪裏放置編輯CSS
移動到http://wordpress.stackexchange.com/? –