标签: wordpress-theming

从图库短代码中排除the_post_thumbnail

我使用此代码在页面上有一个简单的图库:

<?php echo do_shortcode('[gallery itemtag="ul" icontag="li" size="full" columns="0" link="file" ]'); ?>
Run Code Online (Sandbox Code Playgroud)

现在的问题是最终用户必须通过媒体页面上传图像,然后才能选择此图像作为特色图像.

我知道这可以通过将特色图像的ID添加到短代码的排除列表中来解决,但是如何自动获取此ID?

wordpress wordpress-theming

7
推荐指数
1
解决办法
1万
查看次数

在wordpress中检测主页有哪些不同的方法?

检测wordpress主页有哪些不同的方法

除了is_front_page()is_home()

谢谢

javascript php wordpress wordpress-theming

7
推荐指数
2
解决办法
2万
查看次数

如何在PHP中关闭花括号

是否可以在PHP中关闭大括号,如下所示?

<?php function myfunction() { ?>

   // stuff

<?php } ?>                 
<?php 

// more stuff
Run Code Online (Sandbox Code Playgroud)

我刚刚发现这打破了我的Wordpress网站,但是如果我这样关闭括号:

<?php function myfunction() { ?>

   // stuff

<?php }                  

// more stuff
Run Code Online (Sandbox Code Playgroud)

没有问题.

这是一个令人困惑的下午!任何帮助非常感谢.

php wordpress-theming

7
推荐指数
1
解决办法
162
查看次数

自定义Wordpress图像大小未在3.5媒体管理器中显示

我有一个主题,使用add_image_size来定义几个自定义图像大小.这些5个图像大小用于在将图像插入帖子时显示在Wordpress 3.4媒体管理器中,但它们不再显示在新的Wordpress 3.5媒体管理器中.事实上,当我尝试将"添加媒体"添加到帖子时,我获得的唯一图像大小选项是缩略图(100x100)和全尺寸(3260x988).显然,我的主题设置不会覆盖"设置">>"媒体"中的默认媒体设置.这是我的functions.php文件中的代码:

function custom_theme_support() {
  add_theme_support('post-thumbnails');
  set_post_thumbnail_size(180, 120, true);
  add_image_size( 'hero-desktop-2x', 3200, 800, true);
  add_image_size( 'hero-desktop', 1600, 400, true);
  add_image_size( 'hero-mobile-2x', 1534, 800, true);
  add_image_size( 'hero-mobile', 767, 400, true);
}

add_action('after_setup_theme','custom_theme_support');
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是我需要做些什么来使我的主题覆盖Wordpress 3.5中的Wordpress Admin设置?

wordpress wordpress-theming

7
推荐指数
2
解决办法
6806
查看次数

WordPress add_rewrite_rule在本地工作,但不在服务器上

我可以add_rewrite_rule在MAMP本地工作,但不能在我的DreamHost生产服务器上工作.

我试图在http://www.pawsnewengland.com/our-dogs-list/上美化个别宠物的网址.丑陋的URL遵循以下结构:our-dogs-list /?view = pet-details&id = 12345,自定义函数使用$_GET变量处理信息.

在我的functions.php文件中,我已经包含了这个:

function rewrite_pet_url() {
    add_rewrite_rule(
        "our-dogs-list/pet-details/([0-9]+)/?$",
        "index.php/our-dogs-list/?view=pet-details&id=$1",
        "top"
    );
}
add_action( 'init', 'rewrite_pet_url');
Run Code Online (Sandbox Code Playgroud)

我也尝试了同样的结果:

function rewrite_pet_url() {
    add_rewrite_rule(
        "our-dogs-list/pet-details/([0-9]+)/?$",
        "index.php/our-dogs-list/?view=pet-details&id=$matches[1]",
        "top"
    );
}
add_action( 'init', 'rewrite_pet_url');
Run Code Online (Sandbox Code Playgroud)

为了简单地测试重写是否会起作用,试过这个:

function rewrite_pet_url() {
    add_rewrite_rule(
        "fake",
        "index.php/about",
        "top"
    );
}
add_action( 'init', 'rewrite_pet_url');
Run Code Online (Sandbox Code Playgroud)

我在测试之前刷新重写规则,并确认重写规则已添加到.htaccess文件中.但是,出于某种原因,我看到的是404页面或白色屏幕并且"未指定输入文件".

我能够在本地工作,所以我不知道在现场服务器上有什么打破.任何见解?

更新1

我已经将重写"工作",因为它不再导致任何错误.不幸的是,它现在导致不必要的重定向到根URL.

function rewrite_pet_url() {
    add_rewrite_tag('%view%','([^&]+)');
    add_rewrite_tag('%id%','([^&]+)');
    add_rewrite_rule(
        'our-dogs-list/pet-details/([0-9]+)?$',
        'index.php/?page_id=1663&view=pet-details&id=$1',
        'top'
    );
}
add_action( 'init', 'rewrite_pet_url' );
Run Code Online (Sandbox Code Playgroud)

有了这个,我可以使用view和访问 …

regex apache wordpress mod-rewrite wordpress-theming

7
推荐指数
2
解决办法
2574
查看次数

为每个菜单项添加额外的字段

我正在制作一个主题.在那里,我想为每个菜单项添加额外的字段(外观>菜单和ie).在下面的图片中,我想在"描述"字段下添加一些额外的表单字段(如单选按钮,textarea等):

菜单项wordpress

有什么办法或教程我怎么能这样做?

wordpress wordpress-theming

7
推荐指数
1
解决办法
1万
查看次数

如何查找由<?php wp_head();呈现的HTML; ?>在WordPress中?

大部分人都在说,我已经做了很多搜索

wp_head()位于wp-includes/general-template.php中

wp_head在wp-includes中的default-filter.php中

但我想知道html/php文件放在wp_head()呈现的文件目录中的哪个位置,所以我可以编辑该文件.谢谢

wordpress wordpress-theming

7
推荐指数
1
解决办法
3万
查看次数

如何在functions.php中需要父文件时覆盖子Wordpress主题中的父文件

我是设计和编码Wordpress主题的新手,最近开始了一个基于悉尼主题的儿童主题,该主题在Wordpress中免费提供.我遇到了一些障碍我无法解决.

有一个PHP文件通过父级调用functions.php,我需要自定义,并且在更新父主题时需要不受影响.此文件被调用template-tags.php,位于"inc"文件夹中.现在,据说,根据Wordpress codex(我在此之前询问过),子主题上的任何重复文件(除了functions.php)都将自动覆盖父主题中的那些.我不知道这对于文件夹内的文件是否也能正常工作,但我认为这个特定文件在父文件中调用的事实functions.php使得它是正在加载的父文件.我假设这是因为同样适用于我必须在子主题中排队的样式CSS和JS脚本文件,以便获得我自己的自定义版本.

但是,Wordpress codex中没有任何内容可以解释如何覆盖已在父代中调用的文件functions.php.而且我在其他地方找不到任何东西(甚至在这些问题中都没有:WordPress子主题覆盖父主题包括,在WordPress中使用Child主题覆盖父主题函数,如何从非函数覆盖不可插入的父主题函数. php文件?,Wordpress子主题 - functions.php副本 - 不能"重新声明")这对我有帮助.

所以,总结一下:

  • 父主题有一个"inc"文件夹,其中包含文件template-tags.php.
  • 我的孩子主题也有一个"inc"文件夹,里面有文件template-tags.php.
  • 父主题functions.php具有以下代码来调用其文件:

    require get_template_directory() . '/inc/template-tags.php';
    
    Run Code Online (Sandbox Code Playgroud)
  • 我尝试在我的孩子的functions.php文件中添加调用其template-tags.php文件的任何内容都会导致错误,因为很明显WP不能同样需要两次.

没有评论父母的电话functions.php,这对我来说似乎不是一个实际的解决方案,而是更多的解决办法,我不知道还有什么可做的.

我很感激此时的任何意见.提前致谢!

php wordpress wordpress-theming parent-child require

7
推荐指数
2
解决办法
9377
查看次数

确定函数是否有输出的最佳方法?

我有一个函数列表,它们运行一个相当深的例程来确定从哪个post_id获取其内容并将其输出到站点的前端.

当这个函数返回它的内容时,我希望它包装在一个html包装器中.我希望这个html包装器只在函数有返回的输出时才加载.

在示例中,我有以下...

public static function output_*() {
  //  my routines that check for content to output precede here
  //  if there IS content to output the output will end in echo $output;
  //  if there is NO content to output the output will end in return;
}
Run Code Online (Sandbox Code Playgroud)

完整的解释,我有以下......

如果其中一个函数返回一个输出,我希望它包装在一个html包装器中,所以理论上这样的东西就是我想要完成的...

public static function begin_header_wrapper() {
  // This only returns true if an output function below returns content, 
  // which for me is other than an empty return;
  include(self::$begin_header_wrapper); …
Run Code Online (Sandbox Code Playgroud)

php wordpress wordpress-theming output

7
推荐指数
1
解决办法
320
查看次数

高级自定义字段 - 按先前选择的分类法过滤后期对象字段

我有一个名为Event的自定义帖子类型,我想在其中添加从大型位置列表中选择的位置.为了使这个过程更容易,我想通过一个名为locality的类别过滤这些位置.

为此,我创建了一个名为Locations的自定义帖子类型和一个名为Locality的自定义分类.每个事件都添加了一个字段组,其中包含两个下拉列表,一个用于Locality(分类法),另一个用于Locations(Post Object).

我没有达到的目的是按所选地点过滤地点.

wordpress wordpress-theming advanced-custom-fields

7
推荐指数
1
解决办法
663
查看次数