WordPress

WordPress开发人员和管理员的问答

2
何时使用add_action('init')vs add_action('wp_enqueue_scripts')
在主题的functions.php中,我调用add_action以获得对加载jquery位置的控制(在页脚以及主题的其他脚本中)。 我遇到的问题是,当我使用add_action('wp_enqueue_scripts')时,只有在未加载任何插件的情况下,它才会启动。但是,add_action('init')方法在所有情况下均适用。 我不记得为什么,但是我相信在这种情况下首选add_action('wp_enqueue_scripts')。如果是这样,我如何在所有情况下都能正常工作? 在functions.php中 //if(!is_admin()){add_action('init', 'my_theme_init');} //THIS WORKS ALL THE TIME //add_action('wp_enqueue_scripts', 'my_theme_init'); //THIS ONLY WORKS WHEN NO PLUGINS PRESENT if(!is_admin()) { require_once(TEMPLATEPATH . '/functions_public.php'); } 在functions_public.php中 function my_theme_init() { /* PREVENT DUPLICATE COPIES OF JQUERY FROM PLUGINS **************************************************/ wp_deregister_script('jquery'); /* LOAD THE LOCAL WORDPRESS COPY OF JQUERY AND THEME …

2
WP_Query泄漏荒谬的内存量
每当我在下面的函数中调用WP_Query()时,Wordpress就会泄漏8兆的内存。而且,由于我多次调用此函数,所以事情很快就变得很毛茸茸了……:(我尝试取消生成的$ queryObject以及定期调用wp​​_cache_flush(),但似乎都没有任何效果。 function get_post_ids_in_taxonomies($taxonomies, &$terms=array()) { $post_ids = array(); $query = gen_query_get_posts_in_taxonomies($taxonomies, $terms); // var_dump($query); //Perform the query $queryObject = new WP_Query($query); //*****THE 8 MEGABYTES IS LEAKED HERE***** //For all posts found... if($queryObject->have_posts()) { while($queryObject->have_posts()) { $queryObject->the_post(); //Get the $post_id by capturing the output of the_ID() ob_start(); the_ID(); $post_id = …

5
wp-config中的密码。有危险吗
我还不了解很多Wordpress,我只是想知道: 在安装之前,您必须输入正确的数据,wp-config-sample.php但这还包括数据库密码。那不是很危险吗?我的意思是,有人可以解释一下如何防止仅读取文件并因此获得数据库密码的情况吗?
10 wp-config 

3
如何禁用TinyMCE删除跨度标签
我正在通过XMLRPC将Word生成的HTML发布到WordPress。在转到post.php之前,该格式已正确保存在数据库中。TinyMCE发挥了魔力,我失去了很多格式化细节。 我看到的主要问题<span>是剥离了带有围绕其他元素的样式信息的标签。我已经证实这些标签确实是由TinyMCE而非Kses删除的。有没有办法防止TinyMCE更改HTML?我努力了 add_filter('tiny_mce_before_init', 'tinymce_init'); function tinymce_init( $init ) { $init['extended_valid_elements'] .= ', span[style|id|nam|class|lang]'; $init['verify_html'] = false; return $init; } 这没有帮助。根据TinyMCE 文档,“ verify_html” 此选项启用或禁用元素清除功能。如果将此选项设置为false,则将跳过所有元素清除,但仍将执行其他清除功能,例如URL转换。
10 tinymce 

3
如何获取日期和今天之间发布的帖子?
是否可以通过这种方式在日期和今天之间发布帖子query_posts()? 例如:所有文章发表以来2012-04-01 谢谢 编辑: 如何在此查询中添加过滤日期? query_posts( array( array('post'), 'tax_query' => array( array( 'taxonomy' => 'post_format', 'field' => 'slug', 'terms' => array('post-format-image') ) ), 'cat' => '-173', 'post_status' => 'publish' ) );
10 posts  loop  query-posts  date 

1
当我们只需使用add_filter时,使用add_action有什么价值?
我刚刚研究了wordpress代码,发现了add_action的定义: function add_action($tag, $function_to_add, $priority = 10, $accepted_args = 1) { return add_filter($tag, $function_to_add, $priority, $accepted_args); } 现在,为什么我们浪费一个CPU周期仅调用另一个我们可以简单完成的函数,然后又不必为同一件事记住两个不同的函数名。
10 hooks 

1
如何在jquery之后加载脚本?
function load_my_script(){ wp_register_script( 'my_script', get_template_directory_uri() . '/js/myscript.js', 'jquery' ); wp_enqueue_script( 'my_script', 'jquery'); } add_action('wp_enqueue_scripts', 'load_my_script'); myscript.js在jquery之前加载,为什么?以及如何使它加载后jquery? 谢谢。

1
wp_register_sidebar_widget和register_widget有什么区别?
它们之间有什么区别,什么时候应该使用它们? 我现在正在使用wp_register_sidebar_widget,并且工作正常,但是我在网上看到很多关于如何使用register_widget和类创建窗口小部件的教程,我的大多数窗口小部件都不需要选项,因此我应该坚持wp_register_sidebar_widget还是应该使用register_widget即使我没有表格? 提前致谢。

1
我们应该在函数文件中使用get_template_part()而不是include_once吗?
我正在使用theme-check插件来检查我的主题是否有错误和建议,我在诸如header.php和index.php之类的主题文件中使用get_template_part(),但在functions.php中,我正在使用include_once()theme-检查不是指向这些,而是​​指向在functions.php中包含的widgets.php文件中使用的include_once 我的问题是我们应该使用get_template_part()而不是所有include_once()和include()还是仅将其用于获取频繁使用的标记?我知道只建议使用get_template_part(),但我想遵循最佳实践和建议。 提前致谢。

2
为所有用户和管理员设置管理员编辑面板和元框的位置和可见性
我的WP 3.3设置涉及几种帖子类型和带有Advanced Custom Fields插件(可创建许多metabox)的自定义编辑面板,以及其他插件,例如SEO metabox面板,Scribu的Posts2Posts连接等等。 问题是,这些面板的外观顺序通常是相当随机的(即使“高级自定义字段”提供了某种顺序,但它并不总是有效,因为其他插件没有这种顺序,此外,我可能想更改元框职位类型)。 现在,Wordpress允许具有适当权限的每个管理员/用户以他/她想要的方式在编辑面板中排列元框。但是...每个管理员都必须安排自己的!! 是否没有办法准备默认/固定订购或让超级管理员或特别是一位管理员为每个人设置面板位置? 我至少有4位管理员,很少有编辑/作者...我必须设置他们的面板并使用每个帐户登录,这是没有道理的。这既愚蠢又耗时,并且使非Wordpress精明的用户感到困惑。 是否有任何插件或代码段可以帮助解决我的问题? 谢谢

4
仅某些帖子格式的get_posts
我正在尝试仅使用“常规”帖子格式的文章(而不是链接,旁白,引号等格式)创建存档列表。 如何has_post_format( 'standard' )在下面的代码中实现或类似的方法? 我一直无法找到get_posts仅要求特定格式类型的查询。 <?php // Get the posts $myposts = get_posts('numberposts=-1&orderby=post_date&order=DESC'); ?> <?php foreach($myposts as $post) : ?> <?php // Setup the post variables setup_postdata($post); $year = mysql2date('Y', $post->post_date); $month = mysql2date('n', $post->post_date); $day = mysql2date('j', $post->post_date); ?> <p> <span class="the_article"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </span> …

1
带有分页的多个WP_Query循环
对此还有其他一些问题(WP_Query分页对于很多人来说是一个很大的问题),因此我试图缩小范围,以使其真正起作用。 我可以使用以下代码分页创建单个自定义循环: // http://weblogtoolscollection.com/archives/2008/04/19/paging-and-custom-wordpress-loops/ $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $args = array( 'showposts' => 2, 'paged' => $paged ); $wp_query->query($args); while ($wp_query->have_posts()) : $wp_query->the_post(); // The Post the_title(); echo '<br>'; the_category(' '); the_excerpt(); echo '<hr>'; endwhile; // http://codex.wordpress.org/Function_Reference/paginate_links#Examples $big = 999999999; $pag_args = array( 'base' => …


3
管理员ajax请求使用die()返回0
所以我在管理区域中将这种配置用于AJAX调用(如下所示): add_action( 'admin_head', 'ajaxPerNgg' ); function ajaxPerNgg(){ ?> <script type="text/javascript" > jQuery(document).ready(function() { jQuery("#message").remove(); jQuery("#errore a#attivo").click( function(){ var data = { action: 'my_action' }; jQuery.post(ajaxurl, data, function(response) { if(response == "attivato") jQuery("#errore a#inattivo").attr("id","completato").html("Attivato"); else jQuery("#errore a#inattivo").attr("id","attivo").html("Attivalo ora"); }); } ); }); </script> <?php } add_action('wp_ajax_my_action', 'my_action_callback'); function my_action_callback() { echo …
10 wp-admin  ajax 

3
如何使评论对每个Ajax加载的帖子起作用?
我目前正在使用ajax加载单个帖子。虽然帖子加载正常,但我无法加载评论。这是我的代码: 我的JavaScript加载帖子: <script> $(".view_post").click(function(e) { e.preventDefault(); postid = $(this).attr("rel"); $.ajax({ url:"/wp-admin/admin-ajax.php", type:'POST', data:'action=posts_open&postid='+postid, success: function(html){ $("#b_contentwrapper").empty(); $("#b_contentwrapper").append(html); } }); }); </script> javascript通过以下方式遍历functions.php: function implement_posts() { //<?php get_template_part( 'loop', 'single' ); die(); } 现在,这里是我实际加载帖子内容的代码: <?php $linkid = "p=".$_POST["postid"]; $posti = new WP_Query($linkid); $posti->the_post(); echo "Time: "; the_time('F jS, Y'); echo "<br …
10 posts  comments  ajax 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.