Questions tagged «theme-development»

主题为WordPress网站创建公共(前端)界面。

4
标题标签和document_title_parts的问题
Wordpress version 4.5.1 我正在尝试动态更新特定模板上的页面标题。经过大量的挖掘和了解wp_title()更改之后,我尝试使用document_title_parts。但是,我根本无法运行过滤器。 我的主题是儿童functions.php: add_theme_support( 'title-tag' ); //add_filter("after_setup_theme", function(){ add_theme_support("title-tag"); }); add_filter( 'document_title_parts', function( $title ) { error_log('here'); return $title; }, 10, 1 ); 我已经尝试了两种添加主题支持的变体,如上所示,但是看着我的日志,页面重新加载没有任何显示。那error_log是与其他功能一起使用的(例如wp_title),因此错误日志记录正在工作。 我也尝试过pre_get_document_title,它确实会在页面加载时触发,尽管我无法获取它来实际更改标题。 所以!我使用的过滤器有误,未正确设置主题或其他我不知道的东西。任何帮助将不胜感激! 编辑以添加更多详细信息 尝试使用init函数,但也无法正常工作:https://gist.github.com/anonymous/6db5af892a4cf4fb029655167d7002a4 此外,虽然我已删除任何引用<title>从header.php,现场实际标题仍然显示在源。

6
哪里存储由插件/主题创建的PHP文件
在某些情况下,插件或主题需要在以后可以包含它的某个地方创建一个php文件。例如验证码插件,或诸如twig / smarty之类的模板系统(在我的情况下,这是用于小部件集合的简单模板引擎)。 该文件应该在哪里创建? 我唯一能想到的地方是wp-content/uploads/,但这听起来不对:) 那么,有没有安全的地方可以创建文件,而不用担心它们会在WordPress /插件/主题更新中被删除? 一种解决方案是在themes / plugins目录中创建一个子主题/目录。

1
没有srcset的the_post_thumbnail?
WordPress 4.4 srcset使用the_post_thumbnail功能时会添加多个图像尺寸。不使用srcset是否可以仅获得一个图像大小? 我知道可以添加一个过滤器以禁用srcset所有图像,但是我想srcset仅在调用特定缩略图大小时(例如,仅在调用完整图像大小时)禁用它。

2
如何将小部件字段数据存储为数组?
我正在创建一个小部件,它需要存储大约10个ID。现在,我正在使用以下字段方法将每个ID存储在单独的字段中。它将每个字段的数据分别存储在wordpress中。是否可以使用数组将所有字段的数据仅存储在wordpress中的一行中以供示例? <input class="widefat" id="<?php echo $this->get_field_id('item1_id'); ?>" name="<?php echo $this->get_field_name('item1_id'); ?>" value="<?php echo $instance['item1_id']; ?>" /> <input class="widefat" id="<?php echo $this->get_field_id('item2_id'); ?>" name="<?php echo $this->get_field_name('item2_id'); ?>" value="<?php echo $instance['item2_id']; ?>" />

1
是否有某种主题依赖管理?
我正在与其他几个人一起开发Wordpress主题,并遇到了一个问题,即我添加了一个插件,然后我已将安装的插件和为该插件设置的设置告诉其他开发人员,以便该主题可以使用。 我想知道是否存在将插件与主题相关联的方法,以便当个人收到主题时,主题知道它需要哪些插件,并可以自动安装它们及其正确版本。 我想我正在为Wordpress主题寻找某种依赖性管理。那里有类似的东西吗?

3
WordPress API菜单/子菜单顺序
我正在开发使用儿童题材的WordPress 3.4.2和开发版的选项框架由大卫价格。这是我的第一个主题,对此我还比较陌生,因此我研究了Wordpress Codex,并检查了将项目注册到API中的情况。 在不篡改主题之外的任何外部文件的情况下,我想知道是否有一种方法可以重新排列“ 主题选项”页面在外观菜单层次结构中的位置-因此,当激活主题时,位置不像第一张图片,但是像第二张一样。 我知道您可以创建一个菜单(例如“ 外观”选项卡,插件,用户等)或一个子菜单(“ 主题”,“ 小部件”,“ 菜单”等),但是我该如何设置子菜单呢?从顶部? 从我收集到的信息来看,某处有一个命令被调用,functions.php文件中的其他任何页面都放在这些命令之后? 在我的functions.php文件中: // Add our "Theme Options" page to the Wordpress API admin menu. if ( !function_exists( 'optionsframework_init' ) ) { define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/inc/' ); require_once dirname( __FILE__ ) . '/inc/options-framework.php'; } 谢谢。

5
after_setup_theme始终运行
我正在为一些教职员工设置一个儿童主题,作为主题的一部分,我希望在激活主题时激活一些插件。因此,自然地,我使用了after_setup_theme动作并调用了我的设置函数。它运行良好,但它可以在每个请求(管理员和其他请求)上运行。我通过将其添加到设置功能的末尾来证明了这一点: echo '<script type="text/javascript">alert("This action was run")</script>'; 结果,每个管理员请求和每个前端请求都会收到一个JavaScript警报(我有一个网络设置,因此显然在该主题未处于活动状态的网站上,它没有运行该功能) 所以问题是,这是一个错误吗?我在某种程度上做错了吗?这是我正在使用的完整代码: add_action( 'after_setup_theme', 'fwp_setup' ); function fwp_setup(){ // -- Unrelated code remove for the sake of brevity require_once($_SERVER['DOCUMENT_ROOT'].'/wp-admin/includes/plugin.php'); activate_plugin('enable-media-replace/enable-media-replace.php'); activate_plugin('seo-image/seo-friendly-images.php'); activate_plugin('w3-total-cache/w3-total-cache.php'); echo '<script type="text/javascript">alert("This action was run")</script>'; } 任何见解将不胜感激!

3
如何将版本控制添加到我的工作流程?
我开发主题,很多主题。给我一个PSD,对HTML / CSS进行编码,将代码拍打到Wordpress中,并在得到质量控制后进行更正。上线后,客户可以像平常一样编辑博客文章或使用自定义插件上传照片。 有时我必须对主题或页面/帖子内容进行更改,这意味着我要么使它们生效,要么必须将站点下载并设置到开发环境中,以供客户批准。我没有备份,没有版本控制,并且我意识到需要进行更改。 建议使用Git和Mercurial,我想利用这些工具,但是对于如何将它们适合工作流程感到困惑。 我是否需要对开发服务器上的站点进行所有更改,然后在批准后立即将其发布?那写博客文章呢?似乎在开发人员上撰写文章并实时发布更改过于刻薄,但是如果在实时站点上对数据库进行了编辑,那么如何同步数据库呢?我搜寻了互联网。一些指导将不胜感激。

1
在Functions.php中使用类而不是全局函数
在我见过的许多主题(包括TwentyEleven)中,以及在网上找到的示例中,functions.php为主题创建文件时,所有功能都在全局范围内声明。为了澄清,这是典型的函数文件的外观: function my_theme_do_foo() { // ... } function my_theme_do_bar() { // ... } add_action( 'foo_hook', 'my_theme_do_foo' ); 在我看来,如果使用一个类,可以将事情“封装”得更好: class MyTheme { function do_foo() { // ... } function do_bar() { // ... } } $my_theme = new MyTheme(); add_action( 'foo_hook', array( &$my_theme, 'do_foo' ) ); 第二种方法的优点(以我卑微的眼光): 较短的函数名称 访问实例变量(IMO的最大优势) 没有全局功能 缺点: …

4
wp_redirect()-标头已发送
wp_redirect()在页面上成功提交注册表单后,我尝试使用重定向用户。 它不起作用,并显示以下错误: 警告:无法修改标头信息-已在/ Applications / MAMP / htdocs / theme / wp-发送的标头(输出始于/Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) 1178行上的include / pluggable.php 我知道以前已经有输出,这就是为什么它不起作用的原因,但是我不知道如何使它起作用。 注册表单由一个函数呈现,并由另一个函数在我的functions.php中提交。 if ( isset( $_POST['subscribe'] ) ) { // Submits the form and should then redirect wp_redirect("/thank-you/"); exit; } 然后,在我要显示注册表单的地方都使用了这两个函数。 恐怕这不是最好的选择。我应该创建一些操作来做到这一点,但是我不知道如何实现。我发现的大多数教程都直接在同一页面上显示结果,不需要其他重定向。也许这就是为什么他们在functions.php中使用函数的原因

1
排队登录页面的样式表,使其出现在head元素中
我尝试在主题中设置登录页面的样式。很简单: add_action( 'login_enqueue_scripts', function() { wp_enqueue_style( 'TEST', get_template_directory_uri() . '/css/login.css' ); }); 不幸的是,它不能按预期工作。该link元素显示在body登录页面的中,时间很晚。 渲染输出: <link rel='stylesheet' id='TEST-css' href='http://themes.wp/t5-theme-base/css/login.css?ver=3.9-alpha' type='text/css' media='all' /> <div class="clear"></div> </body> </html> 这是错误的,如何在中打印link元素head?

4
我是否真的需要在主题文件中链接主题的style.css
因此,我正在使用一系列用于CSS的LESS文件来开发wordpress主题。它们使用codekit编译为组合的最小样式表,用于主题样式。 我了解wordpress主题必须具有style.css,其注释中包括有关该主题的信息,但是是否需要在header.php中链接此style.css?当然,我可以只包含主题信息,而没有其他内容,可以在主题文件夹中保持不变。我实际使用的样式表可以称为styles.css或main.css之类的东西。 谁能证实这一点或给出为什么这可能不是一个好主意的理由?

7
在小部件标题后添加div以包装小部件内容
我正在尝试在动态边栏中将div添加到小部件的内容中。 这是注册码; register_sidebar(array( 'name' => "Sidebar1", 'id' => 'home-sidebar-1', 'before_widget' => '<div class="sidebar-box">', 'after_widget' => '</div>', 'before_title' => '<div class="title">', 'after_title' => '</div>', )); 但是这段代码是这样的; <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> {WIDGET CONTENT} </div> 这是我正在尝试做的事情; <div class="sidebar-box"> <div class="title">{WIDGET TITLE}</div> <div class="content"> {WIDGET CONTENT} </div> </div> 怎么做?

2
主题定制器-设置顺序
如果我在一个部分中添加了5个以上的设置,则设置的顺序会变得很奇怪。 例如: // Link color $wp_customize->add_setting( 'tonal_'.$themeslug.'_settings[link_color1]', array( 'default' => $themeOptions['link_color1'], 'type' => 'option', 'sanitize_callback' => 'sanitize_hex_color', 'capability' => 'edit_theme_options', 'transport' => 'postMessage' ) ); $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'tonal_'.$themeslug.'_settings[link_color1]', array( 'label' => __( 'Link color1', 'tonal' ), 'section' => 'colors', 'settings' => 'tonal_'.$themeslug.'_settings[link_color1]', 'choices' => '#ffffff' ) ) ); …

5
从帖子内容中获取第一张图片(例如:热链接图片)
我直接从Codex使用此代码。 function echo_first_image ($postID) { $args = array( 'numberposts' => 1, 'order'=> 'ASC', 'post_mime_type' => 'image', 'post_parent' => $postID, 'post_status' => null, 'post_type' => 'attachment' ); $attachments = get_children( $args ); //print_r($attachments); if ($attachments) { foreach($attachments as $attachment) { $image_attributes = wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) ? wp_get_attachment_image_src( $attachment->ID, 'thumbnail' ) …

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.