小编use*_*143的帖子

在所有WordPress页面上使用变量的最佳方法

我正在构建一个自定义主题,其中包含许多我希望在整个过程中使用的变量.

例:

$tv     = $options['tv'];
$movies = $options['movies'];
$print  = $options['print'];
//....and about 50 more.
Run Code Online (Sandbox Code Playgroud)

为此,我只是将它们全部放在一个名为vars.php的文件中,然后在主题的header.php中包含它...

require_once('vars.php');
Run Code Online (Sandbox Code Playgroud)

虽然这确实有效,但它并不是最好的方式.我在很多场合读过使用全局变量(大概是在function.php中)并不是一个好主意,但这是真的吗?

但是如果在functions.php中使用全局变量(甚至很多都是)这是正确的,那么这是正确的方法吗?:

global $tv;
$tv     = $options['tv'];

global $movies
$movies = $options['movies'];

global $print
$print  = $options['print'];
Run Code Online (Sandbox Code Playgroud)

php variables wordpress global-variables

15
推荐指数
3
解决办法
2257
查看次数

使用未知数量的字段清理和添加Post Meta

我有一个像这样的领域......

<input type="text" name="summary" value="" required />
Run Code Online (Sandbox Code Playgroud)

...我可以轻松地使用sanitize_text_field和add_post_meta ......

$summary = sanitize_text_field($_POST["summary"]);
add_post_meta( $post_id, 'summary', $summary);
Run Code Online (Sandbox Code Playgroud)

但是当谈到我需要存储在DB中的额外post_meta时,我不知道如何去做,因为我不知道表单中会有多少其他字段.它会有所不同.

所以额外的表单字段可能是这样的......

<input type="text" name="cat_01" value="" />
<input type="number" name="dog_01" value="" />
<input type="number" name="rabbit_01" value="" />
<input type="text" name="mouse_01" value="" />

<input type="text" name="cat_02" value="" />
<input type="number" name="dog_02" value="" />
<input type="number" name="rabbit_02" value="" />
<input type="text" name="mouse_02" value="" />
Run Code Online (Sandbox Code Playgroud)

...但有时可能会有第3组这些领域,或者第四组等,并且实际上没有限制,我不知道将会有多少组这些领域.

因此,例如,如果存在第3组这些字段,它们将如下所示:

<input type="text" name="cat_03" value="" />
<input type="number" name="dog_03" value="" />
<input type="number" name="rabbit_03" value="" />
<input type="text" name="mouse_03" value="" /> …
Run Code Online (Sandbox Code Playgroud)

php wordpress loops

9
推荐指数
2
解决办法
177
查看次数

查询post_meta日期而不是post_date_gmt

我限制我的查询使用6个月前的show post工作正常.

但我需要它基于post_meta表中的日期而不是'post_date_gmt'.

在我的情况下,我调用payment_date了meta_keys ,值当然是31-10-2016例如日期.

$months_ago = 6;
$args = array(
'date_query' => array(
    array(
        'column' => 'post_date_gmt',
        'after'  => $months_ago . ' months ago',
        )
    ),
'numberposts'   => -1
);
Run Code Online (Sandbox Code Playgroud)

php arrays wordpress date strtotime

6
推荐指数
1
解决办法
409
查看次数

字体在Chrome扩展程序中不起作用

我确定自己有99.9%的权利,但是由于某些原因,它无法正常工作。

我正在做一个chrome扩展程序,它将CSS注入到页面上,而CSS一直可以正常工作,直到我想更改字体为止。

所以我的清单上有这个...

"css": ["css/my-custom.css"],
"js": [ "js/jquery.js", "js/my-custom.js", "js/jquery.cookie.js"],
"web_accessible_resources": ["css/my-custom.css", "fonts/Roboto-Regular.ttf", "images/*.*"]
Run Code Online (Sandbox Code Playgroud)

...而我的CSS有这个...

@font-face {
    font-family: 'RobotoLtRegular';
    src: url('chrome-extension://__MSG_@@extension_id__/fonts/Roboto-Regular.ttf');
    font-weight: normal;
    font-style: normal;
}

body {
    background: #f1f1f1 !important;
    font-size: 1.2em !important;
    font-family: RobotoLtRegular !important;
}

p {
    font-family: RobotoLtRegular !important;
}
Run Code Online (Sandbox Code Playgroud)

...但是当我重新加载扩展名时,我看不到新字体。chrome元素检查器还显示,该字体应为body和p上显示的字体(没有其他字体可以覆盖RobotoLtRegular。

仅供参考,我的字体存储在扩展名的css目录中,因此路径正确。

我完全不知所措。

任何的意见都将会有帮助。

更新:如果有帮助,我将其作为未打包的扩展程序加载。

css fonts google-chrome-extension

5
推荐指数
1
解决办法
2239
查看次数

列出当前登录的用户(wordpress)

有没有办法显示当前登录用户的列表?

理想情况下,只显示他们的名字和头像。

wordpress

4
推荐指数
2
解决办法
8607
查看次数

仅获取PHP版本号

我一直在用这个......

echo PHP_VERSION;
Run Code Online (Sandbox Code Playgroud)

...显示在服务器上运行的PHP版本,通常显示类似...

5.4.6.1
Run Code Online (Sandbox Code Playgroud)

但我刚刚发现,在某些服务器上,我获得的版本号超过版本号,而是显示:

5.4.6.1ububtu1.8
Run Code Online (Sandbox Code Playgroud)

有没有办法可以得到数字?

原因是我需要检查PHP的版本并显示一条消息,比如......

$phpversion = PHP_VERSION;
if($phpversion >= "5.5") {
    echo "All good";
} else {
    echo "Your version of PHP is too old";
}
Run Code Online (Sandbox Code Playgroud)

...但是当然如果$ phpversion包含除数字之外的任何内容,那么此脚本将无法正常工作.

提前致谢.

php server

4
推荐指数
2
解决办法
2625
查看次数

列出所有图像大小,包括自定义 (WordPress)

这个脚本主要工作:

$_wp_additional_image_sizes[$name] = array($width, $height, $crop);
$image_sizes = get_intermediate_image_sizes();
foreach ($image_sizes as $size) {
    echo $size . ' ';
    echo $image_sizes[ $size ][ 'width' ] = intval( get_option( "{$size}_size_w" ) );
    echo ' x ';
    echo $image_sizes[ $size ][ 'height' ] = intval( get_option( "{$size}_size_h" ) )  . '<br />';
}
Run Code Online (Sandbox Code Playgroud)

默认的 WordPress 图像大小(缩略图、中、大等)显示了它们的正确尺寸。

但问题是自定义图像大小始终将其宽度和高度显示为 0。

这是返回的内容:

thumbnail 150 x 150
medium 300 x 300
medium_large 768 x 0
large 1024 x 1024
post-thumbnail 0 x 0
Custom Blog Image …
Run Code Online (Sandbox Code Playgroud)

php wordpress foreach

1
推荐指数
2
解决办法
2256
查看次数

WordPress 类别层次结构

我似乎无法找出为什么此代码不输出层次结构中的类别:

<ul>
<?php  
$args = array(
    'show_option_all'    => '',
    'container'           => false, 
    'orderby'            => 'name',
    'order'              => 'ASC',
    'hide_empty'         => 0,
    'use_desc_for_title' => 0,
    'child_of'           => 0,
    'hierarchical'       => 1,
    'number'             => null,
    'echo'               => 1,
    'depth'              => -1,
    'taxonomy'           => 'category'

); 
$categories = get_categories( $args );
foreach ( $categories as $category ) {
    echo '<li><a href="' . get_category_link( $category->term_id ) . '">' . $category->name . '(' . $category->count . ')</a></li>';
}
?>
</ul>
Run Code Online (Sandbox Code Playgroud)

相反,所有列表项都作为父级输出,如下所示......

<ul>
    <li><a href="http://test.dev/category/media/">Media(1)</a></li>
    <li><a …
Run Code Online (Sandbox Code Playgroud)

wordpress hierarchy categories

0
推荐指数
1
解决办法
8466
查看次数

将一个日期"轮流"到下个月的开始

我需要从变量中获取一个现有日期,并显示一个日期,该日期始终是下个月的第一天(01)(并且也计算年份).

所以,如果我有这个:

$date = '2017-03-17'; // YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)

我需要采取该日期并使其输出:

2017-04-01 // The first day of the next month
Run Code Online (Sandbox Code Playgroud)

再举一个例子......

$date = '2017-12-23'; // YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)

......应该转换成......

2018-01-01 // The first day of the next month
Run Code Online (Sandbox Code Playgroud)

php date

0
推荐指数
1
解决办法
491
查看次数