Selaa lähdekoodia

initial files load

master
thomas.fellinger 5 vuotta sitten
vanhempi
commit
20b19505c7
82 muutettua tiedostoa jossa 16181 lisäystä ja 0 poistoa
  1. +18
    -0
      sandbox/404.php
  2. +339
    -0
      sandbox/LICENSE
  3. +17
    -0
      sandbox/README.md
  4. +248
    -0
      sandbox/archive.php
  5. +45
    -0
      sandbox/comments.php
  6. +567
    -0
      sandbox/css/default.css
  7. +11
    -0
      sandbox/css/login.css
  8. +76
    -0
      sandbox/css/normalize.css
  9. +45
    -0
      sandbox/css/print.css
  10. +3096
    -0
      sandbox/css/style.css
  11. +12
    -0
      sandbox/fonts/apax.css
  12. BIN
      sandbox/fonts/apax/apax_medium.woff
  13. BIN
      sandbox/fonts/apax/apax_medium.woff2
  14. BIN
      sandbox/fonts/fork-awesome/forkawesome-webfont.eot
  15. +2849
    -0
      sandbox/fonts/fork-awesome/forkawesome-webfont.svg
  16. BIN
      sandbox/fonts/fork-awesome/forkawesome-webfont.ttf
  17. BIN
      sandbox/fonts/fork-awesome/forkawesome-webfont.woff
  18. BIN
      sandbox/fonts/fork-awesome/forkawesome-webfont.woff2
  19. +28
    -0
      sandbox/fonts/material.css
  20. BIN
      sandbox/fonts/material/_materialicons-regular-webfont.woff2
  21. BIN
      sandbox/fonts/material/materialicons-regular-webfont.woff
  22. BIN
      sandbox/fonts/material/materialicons-regular-webfont.woff2
  23. +40
    -0
      sandbox/fonts/ubuntu.css
  24. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-300.woff
  25. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-300.woff2
  26. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-300italic.woff
  27. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-300italic.woff2
  28. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-500.woff
  29. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-500.woff2
  30. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-500italic.woff
  31. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-500italic.woff2
  32. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-italic.woff
  33. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-italic.woff2
  34. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-regular.woff
  35. BIN
      sandbox/fonts/ubuntu/ubuntu-v14-latin-regular.woff2
  36. +13
    -0
      sandbox/footer.php
  37. +924
    -0
      sandbox/functions.php
  38. +76
    -0
      sandbox/header.php
  39. BIN
      sandbox/img/chosen-sprite.png
  40. BIN
      sandbox/img/chosen-sprite@2x.png
  41. BIN
      sandbox/img/favicon-32x32.png
  42. +12
    -0
      sandbox/img/socos-logo-color.svg
  43. +8
    -0
      sandbox/img/socos-logo-dark.svg
  44. +77
    -0
      sandbox/index.php
  45. +979
    -0
      sandbox/js/actions.js
  46. +1330
    -0
      sandbox/js/allcountries.js
  47. +58
    -0
      sandbox/js/jquery.plugins.js
  48. +117
    -0
      sandbox/page-alternate.php
  49. +123
    -0
      sandbox/page-faqs.php
  50. +197
    -0
      sandbox/page-home.php
  51. +359
    -0
      sandbox/page-sections.php
  52. +193
    -0
      sandbox/page-team.php
  53. +224
    -0
      sandbox/page-user.php
  54. +136
    -0
      sandbox/page.php
  55. +817
    -0
      sandbox/readme.html
  56. BIN
      sandbox/screenshot.png
  57. +129
    -0
      sandbox/search.php
  58. +15
    -0
      sandbox/searchform.php
  59. +7
    -0
      sandbox/sidebar-content-after.php
  60. +8
    -0
      sandbox/sidebar-content-before.php
  61. +8
    -0
      sandbox/sidebar-content-footer.php
  62. +7
    -0
      sandbox/sidebar-footer-bar.php
  63. +8
    -0
      sandbox/sidebar-footer.php
  64. +8
    -0
      sandbox/sidebar-header.php
  65. +8
    -0
      sandbox/sidebar-highlight.php
  66. +20
    -0
      sandbox/sidebar-menu.php
  67. +106
    -0
      sandbox/single.php
  68. +14
    -0
      sandbox/style.css
  69. BIN
      sandbox/translations/de_DE.mo
  70. +464
    -0
      sandbox/translations/de_DE.po
  71. BIN
      sandbox/translations/de_DE_informal.mo
  72. +464
    -0
      sandbox/translations/de_DE_informal.po
  73. BIN
      sandbox/translations/default.mo
  74. +13
    -0
      sandbox/translations/default.po
  75. BIN
      sandbox/translations/he_IL.mo
  76. +429
    -0
      sandbox/translations/he_IL.po
  77. BIN
      sandbox/translations/it_IT.mo
  78. +490
    -0
      sandbox/translations/it_IT.po
  79. +464
    -0
      sandbox/translations/ng.pot
  80. BIN
      sandbox/translations/nn_NO.mo
  81. +478
    -0
      sandbox/translations/nn_NO.po
  82. +7
    -0
      sandbox/translations/translation-readme.txt

+ 18
- 0
sandbox/404.php Näytä tiedosto

@@ -0,0 +1,18 @@
<?php get_header() ?>

<article id="content" class="<?php post_class(array('wrapper', 'container', 'clearfix', 'not-found', 'error404')) ?>">
<div class="inner">
<h2 class="title"><?php __( 'Not Found', 'sandbox' ) ?></h2>
<div class="content">
<p><?php printf(__( 'Apologies, but we were unable to find what you were looking for. Perhaps searching will help.', 'sandbox' )); ?></p>
</div>
<form id="searchform-404" class="blog-search" method="get" action="<?php echo esc_url( home_url() ) ?>">
<div>
<input id="s-404" name="s" class="text" type="text" value="<?php the_search_query() ?>" size="40" />
<input class="button" type="submit" value="<?php printf(__( 'Find', 'sandbox' )); ?>" />
</div>
</form>
</div>
</article><!-- .post -->

<?php get_footer() ?>

+ 339
- 0
sandbox/LICENSE Näytä tiedosto

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc., <http://fsf.org/>
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.

When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.

We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and
modification follow.

GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.

c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

{description}
Copyright (C) {year} {fullname}

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.

{signature of Ty Coon}, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

+ 17
- 0
sandbox/README.md Näytä tiedosto

@@ -0,0 +1,17 @@
sandbox-wordpress-theme
=======================

Simple, ready to use Wordpress Theme

Goals:

- Based on HTML5 Boilerplate
- Based on the good old Wordpress Sandbox theme
- Mobile/Responsive Ready
- develop individual templates fast and easy with HTML/CSS/Javascript

### DEMO:
http://sandbox.netzgestaltung.at

### Download:
http://sandbox.service4me.org

+ 248
- 0
sandbox/archive.php Näytä tiedosto

@@ -0,0 +1,248 @@
<?php get_header() ?>

<?php
/**
* Collect term data
* =================
*/
// custom term object with usefull data
$term = sandbox_get_archive_term();
// gets an array of all queried post types
// instead of the post type of the first post with get_post_type()
$post_type = $term->post_types;
// archive related default values
$related_taxonomies = array();
$public_taxonomies = get_taxonomies(array('public' => true ));
$post_ids = get_posts(array(
'post_type' => $post_type,
'posts_per_page' => -1,
'fields' => 'ids', // return an array of ids
));
// Default more button text
$more_text = __('Weiterlesen', 'sandbox');
$more_text_label = ''; // used to use with printf
$use_tax_more_text = false;
// archive specificas based on archive type
if ( is_tax() || is_tag() || is_category() ) {
$related_taxonomies = array($term->taxonomy['WP_Taxonomy']->name);
$meta_args = array('date', 'author');

if ( $term->taxonomy['WP_Taxonomy']->name === 'typ' ) {
$meta_args = array();
}
// More text button, %s gets replaced by
// $more_text_label which will be $post_type_object->labels->singular_name
// English default
$more_text = __('View', 'sandbox') . ' %s';
$use_tax_more_text = true;
} else if ( is_post_type_archive() ) {
$related_taxonomies = array_intersect(get_object_taxonomies($post_type), $public_taxonomies);
// dont display post thumbnails in archives
// manual overwrite, requested by client
// $term->has_thumbnail = false;
// echo '<!--', var_dump($taxonomies), '-->';
// echo 'c: ', var_dump($related_taxonomies);

}
$header_style = '';
if ( $term->has_thumbnail ) {
if ( is_post_type_archive() ) {
$term_thumbnail = array($term->thumbnail);
} else {
$term_thumbnail = wp_get_attachment_image_src($term->thumbnail_id, 'sandbox-hero');
}
$header_style = ' style="background-image:url(' . $term_thumbnail[0] . ');"';
}
?>
<section id="content" class="articles wrapper container<?php echo $term->classes; ?>">
<header <?php post_class('section-header'); ?><?php echo $header_style; ?>>
<h1 class="title"><?php echo $term->title; ?></h1>
<?php if ( $term->has_description ) { ?>
<div class="intro">
<?php echo $term->description; ?>
</div>
<?php } ?>
</header>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="inner">
<?php if ( is_date() ) { rewind_posts(); } ?>
<?php if ( have_posts() ) { ?>
<?php /* <h2 class="title"><?php echo $term->byline ?></h2> */ ?>
<?php while ( have_posts() ) : the_post() ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);
$more_text = sandbox_get_more_text($post_type, $post_meta);
$more_url = sandbox_get_more_url($post_type, $post_meta);

$excerpt = '';
$has_custom_more_url = $more_url !== get_permalink();
$more_class = 'more';
$more_target = '';
$post_class = 'no-download';
$content_meta_args = array('date');
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// post thumbnail as background image
$post_style = '';
if ( has_post_thumbnail() ) {
$post_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'sandbox-default') . ');"';
}

if ( $has_custom_more_url ) {
if ( parse_url($more_url, PHP_URL_HOST) !== $site_host ) {
$more_target = ' target="_blank" rel="noopener"';
$more_class .= ' external';
}
if ( $post_type === 'link' ) {
$more_text = __('go to website', 'sandbox');
}
}

if ( !empty($description) ) {
$excerpt = $description;
}

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
$more_text = __('Details', 'sandbox');
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($excerpt) ) {
$excerpt = apply_filters('the_content', has_excerpt() ? get_the_excerpt() : wp_trim_words(get_the_content(), 40));
}
// more class attribute
if ( $more_class !== '' ) {
$more_class = ' class="' . $more_class . '"';
}
?>

<?php if ( is_tag('hoeren-sehen') ) { ?>
<?php } else { ?>
<?php } ?>

<article id="post-<?php the_ID() ?>" <?php post_class($post_class) ?>>
<div class="inner">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>" class="post-thumbnail"<?php echo $post_style; ?>><?php the_post_thumbnail('sandbox-default'); ?></a>
<?php } ?>
<div class="content">
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<h2 class="title"><a href="<?php echo $more_url; ?>"<?php echo $more_target; ?>><?php the_title() ?></a></h2>
<?php if ( !empty($excerpt) ) { ?>
<?php echo $excerpt; ?>
<?php } ?>
<a class="button" href="<?php the_permalink() ?>"><?php printf($more_text); ?></a>
<?php /* if ( !empty($post_taxonomies) ) { ?>
<dl class="clearfix">
<?php foreach ( $post_taxonomies as $post_taxonomy ) { ?>
<?php if ( !empty($post_taxonomy) && $post_taxonomy['slug'] !== 'lern_stufe' ) { ?>
<dt class="<?php echo $post_taxonomy['slug']; ?>"><?php echo $post_taxonomy['label']; ?></dt>
<?php foreach ( $post_taxonomy['terms'] as $post_taxonomy_term ) { ?>
<dd class="<?php echo $post_taxonomy_term['slug']; ?>"><?php echo $post_taxonomy_term['label']; ?></dd>
<?php } ?>
<?php } ?>
<?php } ?>
</dl>
<?php } */ ?>
<?php if ( $meta = sandbox_get_meta_data(array('rtime', 'date', 'author', 'terms')) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</div>
</article><!-- .post -->
<?php } ?>
<?php endwhile; ?>

<?php if ( sandbox_archive_is_paged($term) ) { ?>
<?php if ( function_exists('wp_pagenavi') ) {
wp_pagenavi(); // http://wordpress.org/plugins/wp-pagenavi/
} else {
?>
<nav id="nav-below" class="navigation">
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older results', 'sandbox' ) ) ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer results <span class="meta-nav">&raquo;</span>', 'sandbox' ) ) ?></div>
</nav>
<?php } ?>
<?php } ?>

<?php } else { ?>

<article id="post-0" class="post no-results not-found">
<div class="inner">
<div class="content">
<h2 class="title"><?php printf(__( 'Not Found', 'sandbox' )); ?> :-(</h2>
<p><?php

if ( is_tag() ) {
printf(__('No posts written tagged with', 'sandbox') . ' ' . single_tag_title(false));
} elseif ( is_category() ) {
printf(__('No posts written in', 'sandbox') . ' ' . single_cat_title(false));
} elseif ( is_author() ) {
printf(get_the_author() . ' ' . __("didn't wrote a post yet.", 'sandbox')); // 'hat noch keine Artikel verfasst.'
} else {
printf(__('Apologies, but we were unable to find what you were looking for. Perhaps searching will help.', 'sandbox'));
}

?></p>
<a href="<?php echo esc_url( home_url() ); ?>"><?php printf(__('Go to the homepage', 'sandbox')); // 'zur Startseite gehen' ?></a></p>
</div>
<form id="searchform-no-results" class="blog-search" method="get" action="<?php echo esc_url( home_url() ); ?>">
<input id="s-no-results" name="s" class="text" type="text" value="<?php the_search_query() ?>" size="40" />
<input class="button" type="submit" value="<?php printf(__('Find', 'sandbox')); ?>" />
</form>
</div>
</article><!-- .post -->

<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
</section>
<?php get_footer() ?>

+ 45
- 0
sandbox/comments.php Näytä tiedosto

@@ -0,0 +1,45 @@
<?php

if ( 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']) ) {
die ( 'Please do not load this page directly. Thanks.' );
}

/*
* If the current post is protected by a password and
* the visitor has not yet entered the password we will
* return early without loading the comments.
*/
if ( post_password_required() ) {
return;
}

?>

<section id="comments" class="clear comments-area">
<?php if ( comments_open() || have_comments() ) { ?>
<h2 class="comments-title"><?php echo __('Discussion', 'sandbox'); ?> (<?php comments_number(__('No comments', 'sandbox'), __('<span>One</span> Comment', 'sandbox'), __('<span>%</span> Comments', 'sandbox') );?>)</h2>
<?php if ( comments_open() ) { ?>
<?php comment_form(); ?>
<?php } ?>
<?php if ( have_comments() ) { ?>
<ol class="comment-list">
<?php
wp_list_comments(array(
'style' => 'ol',
'short_ping' => true,
'avatar_size' => 150,
'callback' => 'sandbox_comment_item',
));
?>
</ol>
<?php } ?>
<?php } else { ?>
<h2 class="comments-title"><?php
if ( !comments_open() ) {
?><span class="comments-closed"><?php _e( 'Comments are closed', 'sandbox' ); ?></span><?php
} ?><?php
if ( !have_comments() ) {
?> - <span class="no-comments"><?php _e( 'No Comments written', 'sandbox' ); ?></span><?php
} ?></h2>
<?php } ?>
</section><!-- #comments -->

+ 567
- 0
sandbox/css/default.css Näytä tiedosto

@@ -0,0 +1,567 @@
/**
* Basic elements
*
* very general basic rules for all fitting elements.
*
* @what
* everything reset
* html
* body
* headings
* content elements
* list styles
* code
* image
* abbreviation
* horizontal rule
* tables
* forms
* paginations
* helper classes
* columns
* skip link
*/
*{
margin: 0;
padding: 0;
}

/* Font size to 10px at body */
html{
font-size:1.25em;
}
body{
font-size: 0.5em;
}

/**
* container for non-responsive elements
*
* youtube/video 16:9 iframe
* @see https://benmarshall.me/responsive-iframes/?utm_source=duckduckgo.com&utm_medium=organic&utm_campaign=DuckDuckGo&redirect=1
*
* tables
* @see https://mdbootstrap.com/docs/jquery/tables/responsive/
*
* @see more posibilities with aspect ratio
* https://css-tricks.com/responsive-iframes/
*
*/
.iframe-container{
overflow:hidden;
padding-top:56.25%; /* 16:9 aspect ratio */
position:relative;
}
.iframe-container > iframe{
border:0;
height:100%;
left:0;
position:absolute;
top:0;
width:100%;
}
.table-container{
width:100%;
overflow-x:auto;
-webkit-overflow-scrolling:touch;
-ms-overflow-style:-ms-autohiding-scrollbar;
}

/* headings */
h2,
h3,
h4,
h5,
h6 {
margin:0 0 0.3em 0;
}

/* content elements */
p,
table,
ul,
ol,
dl,
dt,
dd,
.columns,
img {
margin:0 0 1em 0;
}
ul,
ol{
padding-left:1.5em;
}

/* list styles */
ul { list-style-type: disc; }
ul ul { list-style-type: circle; }
ul ul ul { list-style-type: square; }
ul ul ul ul { list-style-type: circle; }

ol { list-style-type: decimal; }
ol ol { list-style-type: lower-alpha; }
ol ol ol { list-style-type: decimal; }
ul ul,
ul ol,
ol ol,
ol ul{
padding-top:0.5em;
}
dt {
margin-bottom:0;
}
dd {
margin-bottom:0.5em;
}

/* code */
pre, code, tt{}
pre{}

/* image */
img{
height:auto;
}

/* abbreviation */
abbr {
cursor: help;
white-space: nowrap;
}

/* horizontal rule */
hr{
border:1px solid #E1E1E1;
border-width:0 0 1px 0;
margin:3em 0;
}
.content hr{
clear:both;
}

/* tables */
table{
width:100%;
}
th{
text-align:left;
}
tbody{
border-color:transparent;
}
tr.even,
tr.odd{
background:none;
}
td,
th{
padding:0.3em 0.5em;
}
tr.even td,
tr.odd td{
}
tr + tr td,
thead + tbody tr:first-child td{
border-top:1px solid #E1E1E1;
}
table .views-field-title{
min-width:50vw;
}

/* forms */
fieldset{
margin:0 0 0.5em 0;
}
label[for]{
cursor:pointer;
}
button,
input,
select,
textarea{
background:#F6F6F6;
border:none;
padding:0.3em 1em 0.4em 1em;
line-height:2;
margin:0 2% 1em 0;
color:#666666;
max-width:100%;
transition:all ease 500ms;
box-sizing:border-box;
border:1px solid #E6E6E6;
}
.content button,
.content input,
.content select,
.content textarea{
font-size:1em;
}
.form-textarea-wrapper textarea{
color:#666666;
}
input{
padding-left:0;
text-indent:1em;
}
input.text-full{
width:100%;
margin-right:0;
}
input,
select,
textarea{
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea{
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus,
select:focus,
textarea:focus{
outline:0;
color:#000000;
}
.content button,
.content input,
.content select,
.content textarea{
padding:0.285714286em 0.714285714em;
}
textarea{
line-height:1.4;
padding-top:0.7em;
padding-bottom:0.7em;
}
/* It's rather heartwarming to know you can style a <select> in a rather cross-browser friendly way that doesn't hurt accessibility. Kudos for documenting this Scott! */
select{
display: block;
width: 100%;
max-width: 100%;
padding: 0.1em 2em 0.2em 0.8em;
border: 1px solid #E6E6E6;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%237F7F7F%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
background-repeat: no-repeat;
background-color: #FFFFFF;
background-position: right 0.7em top 50%;
background-size: 1em auto;
}
/* CAUTION: Internet Explorer hackery ahead */
select::-ms-expand {
display: none; /* Remove default arrow in Internet Explorer 10 and 11 */
}
/* Target Internet Explorer 9 to undo the custom arrow */
@media screen and (min-width:0\0) {
select {
background: none\9;
padding: 5px\9;
}
}
.content select{
padding-right:2em;
width:auto;
}
button,
input[type="color"],
input[type="reset"],
input[type="button"],
input[type="submit"]{
text-align:center;
padding-left:1em;
padding-right:1em;
text-indent:0;
border:1px solid #D5D5D5;
cursor:pointer;
}
button:hover,
button:focus,
input[type="submit"]:focus,
input[type="submit"]:hover{
border-color:#CCCCCC;
color:#000000;
}
button[disabled],
input[disabled],
select[disabled],
textarea[disabled]{
opacity:.5;
}
#block-search-form div{
display:block;
}
input[type="checkbox"],
input[type="radio"] {
padding: 0;
margin-bottom:0.5em:
}
/* Paginations */
.pager{
padding:0;
text-align:center;
}
.pager li{
list-style:none;
display:inline;
}
.pager li a{
display:inline-block;
padding:0 0.5em;
}
.pager li.pager-current{
padding:0 0.5em;
}

.pager li.pager-first a,
.pager li.pager-previous a,
.pager li.pager-next a,
.pager li.pager-last a{
text-indent: -999em;
}
.pager li.pager-first a:before,
.pager li.pager-previous a:before,
.pager li.pager-next a:before,
.pager li.pager-last a:before{
display:block;
float:left;
text-indent: 0;
font-size:1.8em;
position:relative;
text-align: center;
top:-0.4em;
}
.pager li.pager-first a:before { content:"\00AB"; }
.pager li.pager-previous a:before { content:"\2039"; }
.pager li.pager-next a:before { content:"\203A"; }
.pager li.pager-last a:before { content:"\00BB"; }

/**
* Helper classes
* ==============
* They provide simple, selffulfilling properties
* which are readable by their names.
* ----------------------------------------------
* hide-block { display:block;
* position:absolute;
* left:-9999em; }
* hide-text { text-indent:-999em; }
* align-left { text-align:left; }
* align-center { text-align:center; }
* align-right { text-align:right; }
* align-justify { text-align:justify; }
* nowrap { white-space:nowrap; }
* float-left { float:left; }
* float-right { float:right; }
* clear { clear:both; }
* clear-left { clear:left; }
* clear-right { clear:right; }
* clearfix - see below
* ----------------------------------------------
* Legacy names which have the same funcionality:
* left, floatleft
* right, floatright
* clearFloat
* invisible
* hideBlock
* hideText
* hideAccessible
*/
/* Hidings / Image replacement */
.invisible {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
/* IE 8 */

filter: alpha(opacity=0);
/* IE 5-7 */

-moz-opacity: 0;
/* Netscape */

-khtml-opacity: 0;
/* Safari 1.x */

opacity: 0;
/* Good browsers */
}
.hide-block {
display: block;
position: absolute;
left: -999em;
}
.hide-text {
text-indent: -999em;
}
/* Text alignment */
.align-left {
text-align: left;
}
.align-center {
text-align: center;
}
.align-right {
text-align: right;
}
.align-justify {
text-align: justify;
}
/* Text wrapping */
.nowrap {
white-space: nowrap;
}
/* Floats */
.float-left,
img.alignleft,
figure.alignleft {
float: left;
}
.float-right,
img.alignright,
figure.alignright {
float: right;
}
/* Clear floats */
.clear {
clear: both;
}
.clear-left {
clear: left;
}
.clear-right {
clear: right;
}
/**
* Micro Clearfix for modern browsers by Nicolas Gallagher
* =======================================================
* 1. The space content is one way to avoid an Opera bug when the
* contenteditable attribute is included anywhere else in the document.
* Otherwise it causes space to appear at the top and bottom of elements
* that are clearfixed.
* -------------------------------------------------------
* 2. The use of `table` rather than `block` is only necessary if using
* `:before` to contain the top-margins of child elements.
*/
.clearfix:before,
.clearfix:after {
content: " ";
/* 1 */

display: table;
/* 2 */

}
.clearfix:after {
clear: both;
}
/**
* For IE 6/7 only
* ===============
* Include this rule to trigger hasLayout and contain floats.
* ----------------------------------------------------------
* THERE BE DRAGONS!
* IF USING CLEARFIX FOR IE7 YOU HAVE TO AVOID MARGIN ON THE
* INNER ELEMENT AND PUT PADDING ON THE OUTER.
*/
.lt-ie8 .clearfix {
zoom: 1;
}


/**
* columns
*/
.columns{
display:-webkit-box;
display:-moz-box;
display:-ms-flexbox;
display:-webkit-flex;
display:flex;
-webkit-box-orient:horizontal;
-webkit-box-direction:normal;
-ms-flex-flow:row wrap;
flex-flow:row wrap;
-ms-flex-pack: distribute;
justify-content: space-between;
}
.columns .column{
-ms-flex-preferred-size: 100%;
flex-basis: 100%;
}

/**
* Media query: min-width: 600px
* =============================
*/
@media screen and (min-width: 600px) {
.columns.double .column,
.columns.quadruple .column{
-ms-flex-preferred-size: 50%;
flex-basis: 50%;
}
}

/**
* Media query: min-width: 767px
* =============================
*/
@media screen and (min-width: 767px) {
.columns.triple .column{
-ms-flex-preferred-size: 32.17%;
flex-basis: 32.17%;
}
}

/**
* Media query: min-width: 987px
* =============================
*/
@media screen and (min-width: 987px) {
.columns.quadruple .column{
-ms-flex-preferred-size: 25%;
flex-basis: 25%;
}
}

/* "Skip to Main Content" link
* ---------------------------
* This link useful for both visually impaired people and those with mobility impairments
* who cannot use a mouse. http://www.webaim.org/techniques/css/invisiblecontent/ */
#skip{
position:absolute;
height:0;
top:20px;
left:20px;
z-index:100;
}
#skip li{
list-style:none;
}
#skip a{
white-space:nowrap;
}
#skip a:link, #skip a:hover, #skip a:visited {
position: absolute;
left: -10000px;
top: auto;
display:block;
}
#skip a:active, #skip a:focus {
left:auto;
padding:3px 1em;
background:#FFFFFF;
color:#111111;
outline:0;
border:1px solid #111111;
-webkit-box-shadow: 0px 0px 0px 10px rgba(0, 0, 0, 0.3);
box-shadow: 0px 0px 0px 10px rgba(0, 0, 0, 0.3);
}

+ 11
- 0
sandbox/css/login.css Näytä tiedosto

@@ -0,0 +1,11 @@
#login h1 a,
.login h1 a {
background: url(../img/socos-logo-color.svg) 50% 50% no-repeat;
background-size:contain;
padding:0;
margin:0;
display:block;
width:320px;
height:147px;

}

+ 76
- 0
sandbox/css/normalize.css Näytä tiedosto

@@ -0,0 +1,76 @@
/**
* Tryout of: a modern CSS reset
* https://hankchizljaw.com/wrote/a-modern-css-reset/
*/

/* Remove default padding */
ul[class],
ol[class] {
padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul[class],
ol[class],
li,
figure,
figcaption,
blockquote,
dl,
dd {
margin: 0;
}

/* Set core body defaults */
body {
min-height: 100vh;
scroll-behavior: smooth;
text-rendering: optimizeSpeed;
line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul[class],
ol[class] {
list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
max-width: 100%;
display: block;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
font: inherit;
}

/* Remove all animations and transitions for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
scroll-behavior: auto !important;
}
}

+ 45
- 0
sandbox/css/print.css Näytä tiedosto

@@ -0,0 +1,45 @@
/* Use this stylesheet for print styles only. */
/* line 2, ../sass/print.sass */
* {
background-color: transparent;
}

/* line 5, ../sass/print.sass */
.sidebar,
#navigation,
#header-region,
#search-theme-form,
#footer,
.breadcrumb,
.tabs,
.feed-icon,
.links {
display: none;
}

/* line 16, ../sass/print.sass */
#page {
width: 100%;
}

/* line 19, ../sass/print.sass */
#content,
#content #content-inner,
.content,
.title {
margin: 20px 0;
width: auto;
}

/* line 27, ../sass/print.sass */
a:hover, a:active, a:link, a:visited {
color: black;
}

/* CSS2 selector to add visible href after links. */
/* line 35, ../sass/print.sass */
#content a:link:after, #content a:visited:after {
content: " (" attr(href) ") ";
font-size: 0.8em;
font-weight: normal;
}

+ 3096
- 0
sandbox/css/style.css
File diff suppressed because it is too large
Näytä tiedosto


+ 12
- 0
sandbox/fonts/apax.css Näytä tiedosto

@@ -0,0 +1,12 @@
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on August 13, 2020 */



@font-face {
font-family: 'apaxmedium';
src: url('apax_medium.woff2') format('woff2'),
url('apax_medium.woff') format('woff');
font-weight: normal;
font-style: normal;

}

BIN
sandbox/fonts/apax/apax_medium.woff Näytä tiedosto


BIN
sandbox/fonts/apax/apax_medium.woff2 Näytä tiedosto


BIN
sandbox/fonts/fork-awesome/forkawesome-webfont.eot Näytä tiedosto


+ 2849
- 0
sandbox/fonts/fork-awesome/forkawesome-webfont.svg
File diff suppressed because it is too large
Näytä tiedosto


BIN
sandbox/fonts/fork-awesome/forkawesome-webfont.ttf Näytä tiedosto


BIN
sandbox/fonts/fork-awesome/forkawesome-webfont.woff Näytä tiedosto


BIN
sandbox/fonts/fork-awesome/forkawesome-webfont.woff2 Näytä tiedosto


+ 28
- 0
sandbox/fonts/material.css Näytä tiedosto

@@ -0,0 +1,28 @@
/*! Generated by Font Squirrel (https://www.fontsquirrel.com) on September 17, 2020 */



@font-face {
font-family: 'Material Icons';
src: url('materialicons-regular-webfont.woff2') format('woff2'),
url('materialicons-regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;

}

.icon {
font-family: 'Material Icons';
font-weight: normal;
font-style: normal;
font-size: 24px;
line-height: 1;
letter-spacing: normal;
text-transform: none;
display: inline-block;
white-space: nowrap;
word-wrap: normal;
direction: ltr;
-moz-font-feature-settings: 'liga';
-moz-osx-font-smoothing: grayscale;
}

BIN
sandbox/fonts/material/_materialicons-regular-webfont.woff2 Näytä tiedosto


BIN
sandbox/fonts/material/materialicons-regular-webfont.woff Näytä tiedosto


BIN
sandbox/fonts/material/materialicons-regular-webfont.woff2 Näytä tiedosto


+ 40
- 0
sandbox/fonts/ubuntu.css Näytä tiedosto

@@ -0,0 +1,40 @@
/* ubuntu-regular - latin */
@font-face {
font-family: 'Ubuntu';
font-style: normal;
font-weight: 400;
src: local('Ubuntu Regular'), local('Ubuntu-Regular'),
url('../fonts/ubuntu/ubuntu-v14-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/ubuntu/ubuntu-v14-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-italic - latin */
@font-face {
font-family: 'Ubuntu';
font-style: italic;
font-weight: 400;
src: local('Ubuntu Italic'), local('Ubuntu-Italic'),
url('../fonts/ubuntu/ubuntu-v14-latin-italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/ubuntu/ubuntu-v14-latin-italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-500 - latin */
@font-face {
font-family: 'Ubuntu';
font-style: normal;
font-weight: 500;
src: local('Ubuntu Medium'), local('Ubuntu-Medium'),
url('../fonts/ubuntu/ubuntu-v14-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/ubuntu/ubuntu-v14-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* ubuntu-500italic - latin */
@font-face {
font-family: 'Ubuntu';
font-style: italic;
font-weight: 500;
src: local('Ubuntu Medium Italic'), local('Ubuntu-MediumItalic'),
url('../fonts/ubuntu/ubuntu-v14-latin-500italic.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */
url('../fonts/ubuntu/ubuntu-v14-latin-500italic.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-300.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-300.woff2 Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-300italic.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-300italic.woff2 Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-500.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-500.woff2 Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-500italic.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-500italic.woff2 Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-italic.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-italic.woff2 Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-regular.woff Näytä tiedosto


BIN
sandbox/fonts/ubuntu/ubuntu-v14-latin-regular.woff2 Näytä tiedosto


+ 13
- 0
sandbox/footer.php Näytä tiedosto

@@ -0,0 +1,13 @@
</div>
</main><!-- #main -->
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-footer'); ?>
<?php get_sidebar('footer') ?>
<div class="blackout"></div>
<div id="site-actions"></div>
<?php wp_footer() ?>
</body>
</html>

+ 924
- 0
sandbox/functions.php Näytä tiedosto

@@ -0,0 +1,924 @@
<?php
/*
This file is part of sandbox.

sandbox is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

sandbox is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with sandbox. If not, see http://www.gnu.org/licenses/.
*/

/**
* Define content width
* ====================
*/
if ( !isset( $content_width ) ) {
$content_width = 1359;
}
/**
* Ajax hooks
* ==========
*/

/**
* Theme setup hook
* ================
*/
add_action('after_setup_theme', 'sandbox_setup_theme');

function sandbox_setup_theme() {

// Translate, if applicable
load_theme_textdomain('sandbox', get_template_directory() . '/translations');

/**
* Theme supports
*/
add_theme_support('post-thumbnails');
add_theme_support('custom-background');
add_theme_support('html5', array('comment-list', 'comment-form', 'search-form', 'gallery', 'caption') );
add_theme_support('custom-header');
add_theme_support('automatic-feed-links');

/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded <title> tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support('title-tag');

/**
* Theme actions
*/

// manage redirects
// add_action('template_redirect', 'sandbox_template_redirect');

// load scripts
add_action('wp_enqueue_scripts', 'sandbox_enqueue_scripts');

// init sidebars
add_action('init', 'sandbox_sidebars_init');

/**
* Theme filters
*/

// add shortcodes to widgets
add_filter('widget_text', 'do_shortcode');
add_filter('widget_title', 'do_shortcode');

// add shortcodes to the excerpt
add_filter('the_excerpt', 'shortcode_unautop');
add_filter('the_excerpt', 'do_shortcode');

// Adds filters for the description/meta content in archives.php
add_filter('archive_meta', 'wptexturize');
add_filter('archive_meta', 'convert_smilies');
add_filter('archive_meta', 'convert_chars');
add_filter('archive_meta', 'wpautop');

// remove style attribute from cancel_comment_reply_link
add_filter('cancel_comment_reply_link', 'sandbox_cancel_comment_reply_link', 10, 3);

// filters the Categories archive widget to include the post count inside the link
// https://www.sodawebmedia.com/blog/display-post-counts-within-link-for-categories-and-archive/
add_filter('wp_list_categories', 'sandbox_count_span');

// filters the Archive widget to include the post count inside the link
add_filter('get_archives_link', 'sandbox_count_span');
}

/*
* Setup hooks
* ===========
*/
function sandbox_template_redirect(){
// hide profile pages from not logged in users
$profile_page_ID = array(5142, 5480);
if ( !is_user_logged_in() && ( sandbox_is_page_or_descendant($profile_page_ID[0]) || sandbox_is_page_or_descendant($profile_page_ID[1]) ) ) {
wp_redirect(home_url());
die;
}
}

// load scripts
function sandbox_enqueue_scripts(){
$profile_post_ID = array(5142, 5480); // on profile page or descendants
$post_id = get_the_ID();
$post_type = get_post_type();
$post_type_object = get_post_type_object($post_type);
$post_type_rest_base = $post_type;

if ( property_exists($post_type_object, 'rest_base') ) {
$post_type_rest_base = $post_type_object->rest_base;
}

if ( !is_admin() ) {
// jquery plugins
wp_enqueue_script('jquery-plugins', get_template_directory_uri() . '/js/jquery.plugins.js', array('jquery'));
// wp_enqueue_script('jquery-ui-css', get_template_directory_uri() . '/css/jquery-ui.theme.min.css');

// comments reply script
if ( is_singular() && comments_open() && (get_option('thread_comments') == 1 ) ) {
wp_enqueue_script('comment-reply');
}

// Javascript data for window.sandboxTheme_data
$data = array(
'id' => $post_id,
'urls' => array(
'ajax' => admin_url('admin-ajax.php'),
'template' => get_stylesheet_directory_uri(),
'rest' => rest_url('wp/v2/' . $post_type_rest_base . '/' . $post_id . '/'),
),
'verify' => wp_create_nonce('sandbox_ajax_call'),
'name' => sandbox_get_the_slug(),
'categories' => get_the_category(),
// 'terms' => get_the_terms(),
'meta' => sandbox_get_post_meta(),
'info' => array(
'is_home' => is_home(),
'is_front_page' => is_front_page(),
'is_category' => is_category(),
'is_archive' => is_archive(),
'is_admin' => is_admin(),
'is_single' => is_single(),
'comments_open' => comments_open(),
'is_page' => is_page(),
'is_tag' => is_tag(),
'is_tax' => is_tax(),
'is_author' => is_author(),
'is_search' => is_search(),
'is_singular' => is_singular(),
'is_user_logged_in' => is_user_logged_in(),
'post_type' => $post_type,
),
);

// custom script: edit there for your own needs
wp_register_script('actions', get_template_directory_uri() . '/js/actions.js', false, '7', true);
// Javascript data for window.sandboxTheme_data
wp_localize_script('actions', 'sandboxTheme_data', $data );
wp_enqueue_script('actions');
// custom script: edit there for your own needs
}
if ( is_user_logged_in() && ( is_page($profile_post_ID[0]) || is_page($profile_post_ID[1]) ) ) {
wp_enqueue_script('wp-util');
wp_enqueue_script('password-strength-meter');
}
}


// init sidebars
function sandbox_sidebars_init() {

if ( !function_exists('register_sidebar') ) {
return;
}

// enter your sidebars here
$sidebars = array('header', 'menu', 'highlight', 'content-before', 'content-after', 'content-footer', 'footer', 'footer-bar');

foreach ( $sidebars as $sidebar ) {
$config = array(
'name' => $sidebar,
'id' => $sidebar,
'before_widget' => '<div id="%1$s" class="widget %2$s"><div class="inner">',
'after_widget' => '</div></div>',
'before_title' => '<h3 class="title">',
'after_title' => '</h3>'
);

// Special markup for some sidebars
if ( $sidebar === 'menu') {
$config['before_widget'] = '<nav id="%1$s" class="widget %2$s">';
$config['after_widget'] = '</nav>';
}
else if ( $sidebar === 'footer') {
$config['before_widget'] = '<nav id="%1$s" class="widget clearfix %2$s">';
$config['after_widget'] = '</nav>';
}
else if ( $sidebar === 'header') {
$config['before_widget'] = '<div id="%1$s" class="widget %2$s">';
$config['after_widget'] = '</div>';
}
else if ( $sidebar === 'content-footer') {
$config['before_widget'] = '<div id="%1$s" class="widget %2$s site-container"><div class="inner">';
$config['after_widget'] = '</div></div>';
}
else if ( $sidebar === 'content-after') {
$config['before_widget'] = '<div id="%1$s" class="widget %2$s"><div class="inner clearfix">';
$config['after_widget'] = '</div></div>';
}

register_sidebar($config);
}
}

// filters to include the post count inside any link
function sandbox_count_span($output){
$output = str_replace('</a> (', ' (', $output);
$output = str_replace(')', ')</a>', $output);
return $output;
}

/**
* Template helper functions
* =========================
*/
// is a given page ID the anchestor of the current page?
function sandbox_is_page_or_descendant($post_ID){
$is_page_or_descendant = false;

if ( is_page($post_ID) ) {
$is_page_or_descendant = true;
} elseif ( is_post_type_hierarchical(get_post_type()) ) {
$post = get_post();
$ancestors = get_post_ancestors($post->ID);

if ( in_array($post_ID, $ancestors) ) {
$is_page_or_descendant = true;
}
}
return $is_page_or_descendant;
}

// Page slug
function sandbox_get_the_slug(){
$slug = basename(get_permalink());
do_action('before_slug', $slug);
$slug = apply_filters('slug_filter', $slug);
do_action('after_slug', $slug);
return $slug;
}
function sandbox_the_slug(){
echo sandbox_get_the_slug();
}

// Page description
function sandbox_get_page_description($sep, $num_words, $meta = true){
if ( !is_string($sep) || empty($sep) ) { $sep = '-'; }
if ( !is_numeric($num_words) || empty($num_words) ) { $num_words = 40; }

$description = wp_title($sep, false);
$sep = ' ' . $sep . ' ';
if ( is_single() || is_page() || ( is_front_page() && !is_home() ) ) {
$post = get_post(get_the_ID());
if ( has_excerpt() ) {
$description = $post->post_excerpt;
} else {
$description = $post->post_content;
}
} else {
if ( is_archive() || is_home() ) {
if ( is_tax() || is_tag() || is_category() || is_author() ) {
if ( is_tax() || is_tag() || is_category() ) {
$termTitle = single_term_title('', false);
$termDesc = term_description();
$taxonomyTitle = get_taxonomy(get_queried_object()->taxonomy)->labels->singular_name;
}
if ( is_author() ) {
$termTitle = get_the_author_meta('display_name');
$termDesc = get_the_author_meta('description');
$taxonomyTitle = __('Author', 'sandbox');
}
if ( !empty($termDesc) ) {
$termDesc = $sep . $termDesc;
}
$description = $taxonomyTitle . ' ' . __('archive', 'sandbox') . $sep . $termTitle . $termDesc ;
}
if ( is_home() && ( $posts_page = get_option('page_for_posts') ) ) {
$description = get_the_title($posts_page);
} else{
$description = get_option('blogname');
}
if ( is_search() ) {
$description = __('Search Results For', 'sandbox') . ' ' . get_search_query();
}
}
$description .= $sep . get_bloginfo('description');
}
return wp_trim_words(filter_var($meta, FILTER_VALIDATE_BOOLEAN) ? esc_html(wp_strip_all_tags($description, true)) : $description, $num_words);
}
function sandbox_the_page_description($sep = '-', $num_words = 40, $meta = true){
echo sandbox_get_page_description($sep, $num_words, $meta);
}

// Page thumbnail
function sandbox_get_page_thumbnail(){
$page_thumbnail = get_theme_mod('sandbox_logo');
if ( is_single() && has_post_thumbnail() ) {
$postThumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(),'large', false);
$page_thumbnail = $postThumbnail[0];
} else if ( !empty($page_thumbnail) ) {
$page_thumbnail = esc_url($page_thumbnail);
} else {
$page_thumbnail = esc_url(get_template_directory_uri()) . '/img/logo-basisbildung.png';
}
return $page_thumbnail;
}
function sandbox_the_page_thumbnail(){
echo sandbox_get_page_thumbnail();
}

// Current page URI
function sandbox_get_current_URI(){
$protocol = ( ( !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443 ) ? 'https://' : 'http://';
return $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
}
function sandbox_the_current_URI(){
echo sandbox_get_current_URI();
}

// Post meta single output for all fields
function sandbox_get_post_meta($post_id=0){
$numeric_fields = array('_alpha_file_count', '_favorites', '_wpcr_rating', '_thumbnail_id');
$serialized_fields = array('_more-link', '_alpha_file_options');
$post_id = absint($post_id);
if ( !$post_id ) {
$post_id = get_the_ID();
}
$post_custom = get_post_custom($post_id);
$post_meta_keys = get_post_custom_keys($post_id);
$post_meta_keys_old = array_keys($post_custom);
// echo var_dump($post_meta_keys_old);
$post_meta = array();
foreach ( $post_meta_keys as $post_meta_key ) {
if ( !empty($post_custom[$post_meta_key][0]) ) {
$post_meta[$post_meta_key] = $post_custom[$post_meta_key][0];
// exeptions
// numeric field type
if ( in_array($post_meta_key, $numeric_fields) ) {
$post_meta[$post_meta_key] = intval($post_custom[$post_meta_key][0]);
}
// serialized field type
if ( in_array($post_meta_key, $serialized_fields) ) {
$post_meta[$post_meta_key] = unserialize($post_custom[$post_meta_key][0]);
}
} else {
$post_meta[$post_meta_key] = '';
// exeptions
// numeric field type
if ( in_array($post_meta_key, $numeric_fields) ) {
$post_meta[$post_meta_key] = 0;
}
// serialized field type
if ( in_array($post_meta_key, $serialized_fields) ) {
$post_meta[$post_meta_key] = array();
}
}
}
return $post_meta;
}

// Get the first tags title
function sandbox_get_the_tag_title(){
$terms = get_the_terms(0, 'post_tag');

if ( is_wp_error( $terms ) ){ return $terms; }
if ( empty( $terms ) ){ return false; }
foreach ( $terms as $term ) {
$term_names[] = $term->name;
}
return $term_names[0];
}
function sandbox_the_tag_title(){
echo sandbox_get_the_tag_title();
}

// Get the first tags slug
function sandbox_get_the_tag_slug(){
$terms = get_the_terms(0, 'post_tag');

if ( is_wp_error( $terms ) ){ return $terms; }
if ( empty( $terms ) ){ return false; }
foreach ( $terms as $term ) {
if ( $term->slug != 'kolumne') {
$term_slugs[] = $term->slug;
}
}
return $term_slugs[0];
}
function sandbox_the_tag_slug(){
echo sandbox_get_the_tag_slug();
}

// Get the first tags ID
function sandbox_get_the_tag_id(){
$terms = get_the_terms(0, 'post_tag');

if ( is_wp_error($terms) ){ return $terms; }
if ( empty($terms) ){ return false; }
foreach ( $terms as $term ) {
$term_ids[] = $term->term_id;
}
return $term_ids[0];
}

function sandbox_the_tag_id(){
echo sandbox_get_the_tag_id();
}

// Output from +431234567891 to +43 1 234 56 78 - 91
function sandbox_sanitize_phone($phone) {
$data = array(
substr($phone, 0,3),
substr($phone, 3,1),
substr($phone, 4,3),
substr($phone, 7,2),
substr($phone, 9,2),
substr($phone, 11,2),
);
if ( !empty($data[5]) ) {
$data[5] = ' - ' . $data[5];
}
return $data[0] . ' ' . $data[1] . ' ' . $data[2] . ' ' . $data[3] . ' ' . $data[4] . $data[5];
}

// Comment cancel reply link
function sandbox_cancel_comment_reply_link($formatted_link, $link, $text){
return '<a rel="nofollow" id="cancel-comment-reply-link" href="' . $link . '">' . $text . '</a>';
}

// Comment Item, callback for wp_list_comments()
function sandbox_comment_item($comment, $args, $depth){
if ( !isset($GLOBALS['comment']) ) {
$GLOBALS['comment'] = $comment;
}
?>
<li id="comment-<?php comment_ID(); ?>" <?php comment_class( $comment->has_children ? 'parent' : '', $comment ); ?>>
<div class="inner">
<aside class="comment-meta">
<ul class="inner">
<?php if ( 0 != $args['avatar_size'] ) { ?>
<li class="avatar">
<?php echo get_avatar( $comment, $args['avatar_size'] ); ?>
</li>
<?php } ?>
<li class="name">
<?php echo get_comment_author_link( $comment ); ?>
</li>
<li class="date"><a href="<?php
echo esc_url( get_comment_link( $comment, $args ) );
?>"><time datetime="<?php comment_time('c'); ?>"><?php
/* translators: 1: comment date, 2: comment time */
printf( __('%1$s at %2$s'), get_comment_date('', $comment ), get_comment_time() );
?></time></a></li>
<?php if ( current_user_can('moderate_comments') ) { ?>
<li class="edit"><?php edit_comment_link( __('Edit'), '<span class="edit-link">', '</span>'); ?></li>
<?php } ?>
<li class="reply"><?php
comment_reply_link( array_merge( $args, array(
'add_below' => 'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '',
'after' => ''
) ) );
?></li>
</ul>
</aside>
<div class="content">
<div class="inner">
<?php if ('0' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.'); ?></p>
<?php endif; ?>
<?php echo apply_filters('comment_text', $comment->comment_content, $comment, $args); ?>
</div>
</div>
</div>
<?php
}
function sandbox_user_comments_item($comment, $args, $depth){
if ( !isset($GLOBALS['comment']) ) {
$GLOBALS['comment'] = $comment;
}
?>
<li id="comment-<?php comment_ID(); ?>" <?php comment_class( $comment->has_children ? 'parent' : '', $comment ); ?>>
<div class="inner">
<aside class="comment-meta">
<ul class="inner">
<?php if ( 0 != $args['avatar_size'] ) { ?>
<li class="avatar">
<?php echo get_avatar( $comment, $args['avatar_size'] ); ?>
</li>
<?php } ?>
<li class="name">
<?php echo get_comment_author_link( $comment ); ?>
</li>
<li class="date"><a href="<?php
echo esc_url( get_comment_link( $comment, $args ) );
?>"><time datetime="<?php comment_time('c'); ?>"><?php
/* translators: 1: comment date, 2: comment time */
printf( __('%1$s at %2$s'), get_comment_date('', $comment ), get_comment_time() );
?></time></a></li>
<?php if ( current_user_can('moderate_comments') ) { ?>
<li class="edit"><?php edit_comment_link( __('Edit'), '<span class="edit-link">', '</span>'); ?></li>
<?php } ?>
<li class="reply"><?php
comment_reply_link( array_merge( $args, array(
'add_below' => 'div-comment',
'depth' => $depth,
'max_depth' => $args['max_depth'],
'before' => '',
'after' => ''
) ) );
?></li>
</ul>
</aside>
<div class="content">
<div class="inner">
<?php if ('0' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.'); ?></p>
<?php endif; ?>
<?php echo apply_filters('comment_text', $comment->comment_content, $comment, $args); ?>
</div>
</div>
</div>
<?php
}

// Comments Link
function sandbox_get_the_comments_link(){ // use this function only inside the loop.
$comments_count = get_comments_number();
$commentsListId = 'comments-list';
$commentsFormId = 'response';

if ( $comments_count == 0 ) {
$commentLink = '<a href="#' . $commentsFormId . '">' . $comments_count . ' ' . __('Be the first to Comment', 'sandbox') . '</a>'; // 'Schreib den ersten Kommentar';
} else if ( $comments_count > 1 ) {
$commentLink = '<a href="#' . $commentsListId . '">' . $comments_count . ' ' . __('Comments', 'sandbox') . '</a>'; // 'Kommentare';
} else {
$commentLink = '<a href="#' . $commentsListId . '">' . $comments_count . ' ' . __('Comment', 'sandbox') . '</a>'; // 'Kommentar';
}
return $commentLink;
}
function sandbox_the_comments_link(){ // use this function only inside the loop.
echo sandbox_get_the_comments_link();
}

// measure the approximately read-time of an article
function sandbox_read_time($text){
$words = str_word_count(wp_strip_all_tags($text));
if ( !empty($words) ) {
$time_in_minutes = ceil($words/200);
return $time_in_minutes;
}
return false;
}
// Collect term data for any kind of archive
function sandbox_get_archive_term(){
$queried_object = get_queried_object();
$term = new stdClass();
$term->classes = '';
$term->description = get_the_archive_description();
$term->taxonomy = array('title' => '', 'WP_Taxonomy' => '');
$term->post_type = array('title' => '', 'WP_Post_Type' => '');
$term->post_types = array();
$paged = get_query_var('paged');
$max_num_pages = get_query_var('max_num_pages');

// echo var_dump($max_num_pages);
if ( is_post_type_archive() ) {
if ( empty($term->description) ) {
$term->description = $queried_object->description;
}
// custom long description
$long_description = '';
if ( function_exists('ptad_get_post_type_description') ) {
$long_description = ptad_get_post_type_description($queried_object->name);
}
if ( !empty($long_description) ) {
$term->description = $long_description;
}
$term->title = $queried_object->label;
$term->thumbnail = esc_url(get_template_directory_uri()) . '/img/' . $queried_object->name . '.jpg';
// $term->thumbnail = '';
// $term->byline = __('All articles in', 'sandbox') . ' ' . $term->title;
$term->count = wp_count_posts($queried_object->name)->publish; //$queried_object->count;
$term->byline = $queried_object->labels->name;
$term->post_type['WP_Post_Type'] = $queried_object;
$term->post_types[] = $queried_object->name;
}
if ( is_tax() || is_tag() || is_category() ) {
$queried_taxonomy = get_taxonomy($queried_object->taxonomy);
$term->term_id = $queried_object->term_id;
$term_meta = get_term_meta($term->term_id);
$term->title = single_term_title('', false);
$term->thumbnail = '';
$term->thumbnail_id = isset($term_meta['_term_image']) && !empty($term_meta['_term_image'][0]) ? intval($term_meta['_term_image'][0]) : 0;
if ( $term->thumbnail_id !== 0 ) {
$term->thumbnail = wp_get_attachment_image($term->thumbnail_id, 'sandbox-hero');
}
$term->taxonomy['title'] = $queried_taxonomy->labels->singular_name;
$term->taxonomy['WP_Taxonomy'] = $queried_taxonomy;
$term->byline = $term->taxonomy['title'] . ' - ' . $term->title;
$term->count = $queried_object->count;
if ( !empty($queried_taxonomy->object_type) ) {
$post_type_names = $queried_taxonomy->object_type;
$term->post_type = array();
foreach ( $post_type_names as $post_type_name ) {
$post_type_object = get_post_type_object($post_type_name);
$term->post_type[] = array(
'title' => $post_type_object->label,
'WP_Post_Type' => $post_type_object,
);
}
$term->post_types = $post_type_names;
}
}
if ( is_author() ) {
$term->title = get_the_author_meta('display_name');
$term->thumbnail = get_avatar($queried_object->data->ID, 'smr-thumb');
$term->taxonomy['title'] = __('Author', 'sandbox');
$term->byline = $term->title;
$term->count = count_user_posts($queried_object->data->ID);
}
if ( is_date() ) {
global $wp_query;
$term->title = __('All articles from', 'sandbox') . ' ';
$term->count = $wp_query->found_posts;

if ( is_day() ) {
$term->title .= get_the_time(get_option('date_format'));
} elseif ( is_month() ) {
$term->title .= get_the_time('F Y');
} elseif ( is_year() ) {
$term->title .= get_the_time('Y');
}
}
if ( is_home() ) {
global $wp_query;
$posts_page_id = get_option('page_for_posts');
$term->post_type['WP_Post_Type'] = get_post_type_object('post');
$term->post_type['title'] =
$term->description = get_the_content($posts_page);
$term->title = get_the_title($posts_page);
$term->byline = $term->title;
$term->count = $wp_query->found_posts;
}
// Add a page number if necessary.
$posts_per_page = get_query_var('posts_per_page');
$all_pages = ceil($term->count/$posts_per_page);
// echo 'blah: ' . var_dump($term->count);
// echo 'blah: ' . var_dump($all_pages);
if ( $paged > 1 && !is_404() ) {
/* translators: %s: Page number. */
$current_page = sprintf(__('Page %s'), $paged);
$of = ' ' . __('von', 'sandbox') . ' ';
$term->byline .= ' ' . $current_page . $of . $all_pages;
} else if ( $term->count > $posts_per_page ) {
$all_pages = ceil($term->count/$posts_per_page);
$of = ' ' . __('von', 'sandbox') . ' ';
$term->byline .= ' ' . __('Seite 1') . $of . $all_pages;
}
if ( !empty($term->taxonomy['title']) ) {
$term->taxonomy['title'] .= ' - ';
}

$term->has_description = false;
if ( !empty($term->description) ) {
$term->classes .= ' has-description';
$term->description = wpautop($term->description);
$term->has_description = true;
}
$term->has_thumbnail = false;
if ( !empty($term->thumbnail) ) {
$term->classes .= ' has-thumbnail';
$term->has_thumbnail = true;
}
$term->has_meta = false;
if ( $term->has_description || $term->has_thumbnail || is_a($term->taxonomy['WP_Taxonomy'], 'WP_Taxonomy') ) {
$term->classes .= ' has-meta';
$term->has_meta = true;
}
$term->has_byline = false;
if ( !empty($term->byline) ) {
// only when meta is present
if ( $term->has_meta ) {
$term->classes .= ' has-byline';
}
$term->has_byline = true;
}
if ( !empty($term->classes) ) {
$term->classes = ' ' . $term->classes;
}
// echo '<!-- ', var_dump($wp_query->query_vars), ' -->';
return $term;
}

// Count amount of pages in an archive
function sandbox_count_archive_pages($term = NULL){
if ( !is_archive() ) { return NULL; }
if ( $term === NULL ) { $term = sandbox_get_archive_term(); }

$posts_per_page = get_option('posts_per_page');
return ceil($term->count/$posts_per_page);
}

// Detect if an archive page is paged
function sandbox_archive_is_paged($term = NULL){
if ( !is_archive() ) { return NULL; }
if ( $term === NULL ) { $term = sandbox_get_archive_term(); }

return sandbox_count_archive_pages($term) > 1;
}
function sandbox_get_more_url($post_type, $post_meta){
$more_url = get_permalink();
if ( ( isset($post_meta["_more-link-url"]) && !empty($post_meta["_more-link-url"]) ) || ( isset($post_meta['_more-link']) && !empty($post_meta['_more-link']) ) ) {
// "download_aktion_de" uses that field for download button
if ( $post_type !== 'download_aktion_de' ) {
if ( !empty($post_meta["_more-link-url"]) ) {
$more_url = $post_meta["_more-link-url"];
} elseif ( isset($post_meta['_more-link'][0]) && isset($post_meta['_more-link'][0]['_more-link-url']) && !empty($post_meta['_more-link'][0]['_more-link-url']) ) {
$more_url = $post_meta['_more-link'][0]['_more-link-url'];
}
}
}
return $more_url;
}
function sandbox_get_more_text($post_type, $post_meta){
// Text for "Read more" button
$more_texts = array(
'default' => __('Read more', 'sandbox'),
'download' => __('Download', 'sandbox'),
'alpha_download' => array(
'default' => __('More details', 'sandbox'),
),
'download_aktion_de' => array(
'default' => __('More details', 'sandbox'),
),
);
$more_text = $more_texts['default'];

// post type handling
if ( isset($more_texts[$post_type]) && isset($more_texts[$post_type]['default']) && !empty($more_texts[$post_type]['default']) ) {
$more_text = $more_texts[$post_type]['default'];
}

// custom fields handling
if ( ( isset($post_meta["_custom_more_text"]) && !empty($post_meta["_custom_more_text"]) ) || ( isset($post_meta['_more-link']) && !empty($post_meta['_more-link']) ) ) {
if ( isset($post_meta["_custom_more_text"]) && !empty($post_meta["_custom_more_text"]) ) {
$more_text = $post_meta["_custom_more_text"];
} elseif ( isset($post_meta['_more-link'][0]) && isset($post_meta['_more-link'][0]['_more-link-text']) && !empty($post_meta['_more-link'][0]['_more-link-text']) ) {
$more_text = $post_meta['_more-link'][0]['_more-link-text'];
}
}
return $more_text;
}
// Get all taxonomies for a post and its terms
// works like get_the_terms() but returns an array of all taxonomies that are registered to the post.
function sandbox_get_the_taxonomies_and_terms($post_id=0){
$post_id = absint($post_id);
if ( !$post_id ) {
$post_id = get_the_ID();
}
$post = get_post($post_id);
$taxonomy_objects = get_object_taxonomies($post, 'objects');
$taxonomies = array();
$taxonomies_index = 0;

foreach ( $taxonomy_objects as $taxonomy_object ) {
$taxonomy_term_objects = get_the_terms($post_id, $taxonomy_object->name);
if ( !empty($taxonomy_term_objects) && !is_wp_error($taxonomy_term_objects) ) {
$taxonomies[$taxonomy_object->name] = array(
'slug' =>$taxonomy_object->name,
'label' =>$taxonomy_object->label,
'terms' => array(),
);
foreach ( $taxonomy_term_objects as $taxonomy_term_object ) {
$taxonomies[$taxonomy_object->name]['terms'][$taxonomy_term_object->slug] = array(
'term_id' => $taxonomy_term_object->term_id,
'slug' => $taxonomy_term_object->slug,
'label' => $taxonomy_term_object->name,
'description' => $taxonomy_term_object->description,
);
}
$taxonomies_index++;
}
}
return $taxonomies;
}
function sandbox_get_the_terms(){
$post_id = get_the_ID();
$taxonomies = get_post_taxonomies($post_id);
$terms = array();

foreach ( $taxonomies as $taxonomy ) {
$terms_data = wp_get_post_terms($post_id, $taxonomy);

if ( !empty($terms_data) && !is_wp_error($terms_data) ) {
$terms[$taxonomy] = $terms_data;
}
}
return $terms;
}

// get meta data of an article
function sandbox_get_meta_data( $force_meta = false ) {
if ( !$force_meta ) { return; }

$output = '';

//Check for sticky
if ( is_sticky() ) {
$output .= '<div class="meta-stick">' . __('Sticky', 'sandbox') . '</div>';
}

//Check meta options
$metas = is_array($force_meta) ? $force_meta : array( $force_meta );
// echo '<!-- ', var_dump($metas), ' -->';

if ( !empty( $metas ) ) {
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = get_post_custom();

foreach ( $metas as $meta_id ) {
$meta = '';
$className = $meta_id;

switch ( $meta_id ) {

case 'format':
$formats = get_the_terms($post_id, 'format');
if ( !empty($formats) && ! is_wp_error($formats) ) {
foreach ( $formats as $format ) {
$className .= ' meta-' . $format->slug;
$meta = $format->name;
}
}
break;

case 'date':
$meta = get_the_date();
break;

case 'terms':
$terms_in_taxes = sandbox_get_the_terms();
$meta = '';

if ( !empty($terms_in_taxes) ) {
foreach ( $terms_in_taxes as $taxonomy_name => $terms ) {
if ( !empty($terms) ) {
$meta .= '<ul class="terms-list ' . $taxonomy_name . '-list">';
foreach ( $terms as $term ) {
if ( !empty($term) && is_a($term, 'WP_Term') ) {
$meta .= '<li class="' . $term->slug . '"><a href="' . esc_url(get_term_link($term)) . '">' . $term->name . '</a></li>';
}
}
$meta .= '</ul>';
}
}
}
break;

case 'author':
if ( $post_type === 'alpha_download' ) {
$author = isset($post_meta['_download-author']) ? $post_meta['_download-author'][0] : '';
$license = isset($post_meta['_download-license']) ? $post_meta['_download-license'][0] : '';
if ( !empty($author) ) {
$meta = $author . ( !empty($license) ? ' | ' . $license : '' );
}
} else {
$author_id = get_post_field('post_author', $post_id);
$meta = get_the_author_meta('display_name', $author_id);
}
break;

case 'rtime':
$meta = sandbox_read_time(get_the_content());
if ( !empty( $meta ) ) {
$meta = $meta . ' ' . __('min read', 'sandbox');
}
break;

case 'comments':
if ( comments_open() || get_comments_number() ) {
ob_start();
comments_popup_link( __('Add Comment', 'sandbox'), __('1 Comment', 'sandbox'), __('% Comments', 'sandbox') );
$meta = ob_get_contents();
ob_end_clean();
} else {
$meta = '';
}
break;

default:
break;
}
if ( !empty($meta) ) {
$output .= "\r\n" . '<li class="' . $className . '">' . $meta . '</li>';
}
}
}
return $output;
}



// Remember: the sandbox is for play.
?>

+ 76
- 0
sandbox/header.php Näytä tiedosto

@@ -0,0 +1,76 @@
<!--[if IE_NEEDS_THIS]><![endif]-->
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie10 lt-ie9 lt-ie8 lt-ie7" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie10 lt-ie9 lt-ie8 ie7" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie10 lt-ie9 ie8" <?php language_attributes(); ?>> <![endif]-->
<!--[if IE 9]> <html class="no-js lt-ie10 ie9" <?php language_attributes(); ?>> <![endif]-->
<!--[if gt IE 9]><!--> <html class="no-js" <?php language_attributes(); ?>> <!--<![endif]-->
<head>
<meta charset="<?php bloginfo('charset'); ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
<?php wp_head(); // For plugins ?>
<meta name="description" content="<?php sandbox_the_page_description(); ?>">
<!-- all countries as js array <script type="text/javascript" src="<?php echo esc_url(get_stylesheet_directory_uri()); ?>/js/allcountries.js"></script> -->
<link rel="stylesheet" type="text/css" href="<?php echo esc_url(get_stylesheet_directory_uri()); ?>/css/normalize.css?v=1" />
<link rel="stylesheet" type="text/css" href="<?php echo esc_url(get_stylesheet_directory_uri()); ?>/css/default.css?v=1" />
<link rel="stylesheet" type="text/css" href="<?php echo esc_url(get_stylesheet_directory_uri()); ?>/css/style.css?v=38" />
<link rel="stylesheet" media="print" type="text/css" href="<?php echo esc_url(get_stylesheet_directory_uri()); ?>/css/print.css" />
<link rel="alternate" type="application/rss+xml" href="<?php echo esc_url(get_bloginfo('rss2_url')); ?>" title="<?php printf( __( '%s latest posts', 'sandbox' ), htmlspecialchars( get_bloginfo('name'), 1 ) ) ?>" />
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php echo esc_url(get_bloginfo( 'pingback_url' )); ?>">
<meta property="og:title" content="<?php echo wp_strip_all_tags(wp_get_document_title()); ?>" />
<meta property="og:type" content="<?php if ( is_single() ) { ?>article<?php } else { ?>Website<?php } ?>" />
<meta property="og:url" content="<?php sandbox_the_current_URI(); ?>" />
<meta property="og:image" content="<?php sandbox_the_page_thumbnail() ?>" />
<meta property="og:description" content="<?php sandbox_the_page_description(); ?>" />
<meta property="og:locale" content="<?php bloginfo('language'); ?>" />
</head>
<body <?php body_class(); ?>>
<?php wp_body_open(); ?>
<nav id="skip">
<ul>
<li><a href="#main-menu"><?php _e('Jump to Navigation', 'sandbox'); ?></a></li>
<li><a href="#main"><?php _e('Jump to Content', 'sandbox'); ?></a></li>
</ul>
</nav>
<!-- ______________________ HEADER _______________________ -->
<header id="site-header" class="site-header site-container color-scheme-dark">
<div class="inner">
<<?php
/*
* @logo
* @Site Name
*/
if ( is_front_page() || is_home() ) { echo 'h1'; } else { echo 'h2'; } ?> id="site-name" class="site-name">
<a id="site-logo" class="site-logo" rel="home" href="<?php echo esc_url(home_url()) ?>/" title="<?php
echo htmlspecialchars(get_bloginfo('name')), ' - ', htmlspecialchars(get_bloginfo('description'));
?>"><img src="<?php echo esc_url(get_template_directory_uri()); ?>/img/socos-logo-dark.svg" alt="<?php
echo htmlspecialchars(__('Logo', 'sandbox')), ' - ', htmlspecialchars(get_bloginfo('name')); ?>"/></a>
</<?php if ( is_front_page() || is_home() ) { echo 'h1'; } else { echo 'h2'; } ?>>
<?php
/*
* @Sidebar Header
*/
get_sidebar('header'); ?>
</div>
</header><!-- header -->
<?php
/*
* @Sidebar Menu
*/
get_sidebar('menu'); ?>
<?php
/*
* @Sidebar Highlight
*/
get_sidebar('highlight'); ?>
<main class="site-main site-container" id="main">
<div class="inner">

BIN
sandbox/img/chosen-sprite.png Näytä tiedosto

Before After
Width: 52  |  Height: 37  |  Size: 538 B

BIN
sandbox/img/chosen-sprite@2x.png Näytä tiedosto

Before After
Width: 104  |  Height: 74  |  Size: 738 B

BIN
sandbox/img/favicon-32x32.png Näytä tiedosto

Before After
Width: 32  |  Height: 32  |  Size: 1.6 KiB

+ 12
- 0
sandbox/img/socos-logo-color.svg Näytä tiedosto

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" id="Ebene_1" data-name="Ebene 1" viewBox="0 0 533.2 154.05">
<defs>
<style>.cls-1{fill:#1b1936;}.cls-2{fill:#e6442d;}</style>
</defs>
<path class="cls-1" d="M23.88,126.35h34.5c11.66,0,19.48-1.28,25.14-4.58,6.8-4,10.1-10.65,10.1-21.77,0-6.13-1.21-10.92-3.7-14.35a22.94,22.94,0,0,0-9.64-7.89A132.37,132.37,0,0,0,63.37,72l-10-2.9a90,90,0,0,1-12.2-4.24,14.14,14.14,0,0,1-5.86-5,15.75,15.75,0,0,1-1.82-8.15c0-5.33,1.35-8.7,4.52-10.92,3.5-2.36,8.42-3.3,16.57-3.3H85.88l.53-9.77H55.82c-15.76.13-20.89,1.68-26.28,6.06-4.65,4-7.14,10.25-7.14,18.06,0,11.86,4,18.26,11.25,22A86,86,0,0,0,49,79.45l13.54,3.71a74.68,74.68,0,0,1,11.46,4,15.06,15.06,0,0,1,6.4,5.26c1.55,2.15,2.29,5,2.29,8.69,0,6-1.82,10.11-5.39,12.46-3.78,2.36-8.76,3-17.12,3H23.88Z"/>
<path class="cls-2" d="M308.13,84.11a6.9,6.9,0,0,0,7-7,7.1,7.1,0,0,0-2-5.11,6.7,6.7,0,0,0-5-2A6.85,6.85,0,0,0,303,72a7.1,7.1,0,0,0-2,5.11,6.77,6.77,0,0,0,2,5,7,7,0,0,0,5.14,2"/>
<path class="cls-1" d="M308.71,50.76l0-.09a46,46,0,0,0-17.85-18.39,54.62,54.62,0,0,0-52.09,0A46.63,46.63,0,0,0,220.8,50.67a54.92,54.92,0,0,0-6.4,26.62c-.41,29.78,21,51.41,50.4,51.08,19.7.22,35.87-9.53,44.21-25l-11.07-2.59c-6.66,11.36-18.5,18.33-33.14,18.16-23.25.27-39.35-17.25-39.08-41.77-.27-24.53,15.7-42.32,39.08-42C279.53,35,291.27,42,297.88,53.29Z"/>
<path class="cls-1" d="M192.85,77.16c.27,24.52-15.9,42-39,41.77-23.24.27-39.35-17.25-39.08-41.77-.27-24.53,15.7-42.32,39.08-42,23.38-.34,39.22,17.45,39,42m-89.42.13c-.4,29.78,21,51.41,50.4,51.08,29.25.33,50.74-21.3,50.34-51.08a54.3,54.3,0,0,0-6.47-26.62,46,46,0,0,0-17.86-18.39,51.26,51.26,0,0,0-26-6.6,51.7,51.7,0,0,0-26.07,6.6,46.59,46.59,0,0,0-17.93,18.39,55,55,0,0,0-6.4,26.62"/>
<path class="cls-2" d="M414.78,77.16c.27,24.52-15.9,42-39,41.77-23.24.27-39.35-17.25-39.08-41.77-.27-24.53,15.7-42.32,39.08-42,23.38-.34,39.22,17.45,39,42m-89.42.13c-.4,29.78,21,51.41,50.4,51.08,29.25.33,50.74-21.3,50.34-51.08a54.3,54.3,0,0,0-6.47-26.62,46,46,0,0,0-17.86-18.39,54.67,54.67,0,0,0-52.08,0,46.59,46.59,0,0,0-17.93,18.39,55,55,0,0,0-6.4,26.62"/>
<path class="cls-2" d="M437.39,126.35h34.5c11.65,0,19.47-1.28,25.13-4.58,6.8-4,10.11-10.65,10.11-21.77,0-6.13-1.22-10.92-3.71-14.35a22.94,22.94,0,0,0-9.64-7.89A131.27,131.27,0,0,0,476.87,72l-10-2.9a89.26,89.26,0,0,1-12.19-4.24,14.17,14.17,0,0,1-5.87-5A15.75,15.75,0,0,1,447,51.69c0-5.33,1.35-8.7,4.52-10.92,3.5-2.36,8.42-3.3,16.57-3.3h31.34l.54-9.77h-30.6c-15.76.13-20.88,1.68-26.27,6.06-4.65,4-7.15,10.25-7.15,18.06,0,11.86,4,18.26,11.26,22a85.58,85.58,0,0,0,15.36,5.59l13.54,3.71a74.29,74.29,0,0,1,11.46,4,15.06,15.06,0,0,1,6.4,5.26c1.55,2.15,2.29,5,2.29,8.69,0,6-1.82,10.11-5.39,12.46-3.77,2.36-8.76,3-17.12,3H437.39Z"/>
</svg>

+ 8
- 0
sandbox/img/socos-logo-dark.svg Näytä tiedosto

@@ -0,0 +1,8 @@
<svg width="110" height="24" viewBox="0 0 110 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.333 22.8757H8.1C10.7235 22.8757 12.483 22.5877 13.7565 21.8452C15.2865 20.9452 16.029 19.449 16.029 16.9492C16.029 15.5677 15.7568 14.4922 15.1965 13.7182C14.6503 12.9391 13.8998 12.3256 13.0275 11.9452C11.7909 11.4249 10.5205 10.989 9.225 10.6402L6.975 9.99C6.0381 9.73797 5.1207 9.41838 4.23 9.03375C3.69473 8.7882 3.23824 8.3987 2.9115 7.90875C2.60745 7.34685 2.46054 6.71337 2.48625 6.075C2.48625 4.878 2.79 4.11975 3.501 3.62025C4.29075 3.08925 5.39775 2.8755 7.2315 2.8755H14.2808L14.4 0.674999H7.5195C3.97125 0.710999 2.81925 1.05975 1.6065 2.04525C0.56025 2.9385 0 4.34925 0 6.10875C0 8.775 0.9 10.2172 2.53125 11.0655C3.64103 11.5946 4.79911 12.0158 5.9895 12.3232L9.036 13.158C9.91762 13.388 10.7792 13.689 11.6123 14.058C12.1912 14.3096 12.689 14.7169 13.05 15.2347C13.3988 15.7207 13.5653 16.3733 13.5653 17.19C13.5653 18.54 13.1558 19.4648 12.3525 19.9958C11.502 20.5268 10.3815 20.6707 8.5005 20.6707H0.333V22.8757Z" fill="white"/>
<path d="M64.2895 13.374C64.709 13.3801 65.1132 13.2162 65.4099 12.9194C65.7066 12.6227 65.8706 12.2186 65.8645 11.799C65.8766 11.3712 65.7141 10.957 65.4145 10.6515C65.1217 10.3451 64.7131 10.1767 64.2895 10.188C63.8528 10.1703 63.4292 10.3388 63.124 10.6515C62.8243 10.957 62.6619 11.3712 62.674 11.799C62.6633 12.2199 62.826 12.6266 63.124 12.924C63.4322 13.2265 63.8511 13.3892 64.2827 13.374" fill="#E9533F"/>
<path d="M64.4173 5.868V5.85C63.4955 4.11608 62.0994 2.6802 60.3921 1.71C56.7362 -0.269982 52.3277 -0.269982 48.6718 1.71C46.9665 2.68496 45.5694 4.11948 44.6398 5.85C43.6617 7.69285 43.1663 9.75343 43.1998 11.8395C43.1098 18.54 47.9248 23.4067 54.5421 23.3302C58.9723 23.382 62.6128 21.1882 64.4893 17.7052L61.9986 17.1225C60.4978 19.6785 57.8248 21.2467 54.5398 21.2085C49.3086 21.2692 45.6748 17.325 45.7446 11.808C45.6748 6.3 49.2748 2.28825 54.5398 2.3625C57.8541 2.31525 60.4933 3.888 61.9828 6.4395L64.4173 5.868Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M29.565 23.3303C22.95 23.4068 18.1328 18.54 18.225 11.8395C18.1936 9.75284 18.6913 7.69224 19.6718 5.85C20.6025 4.11961 22.0003 2.68521 23.706 1.71C25.497 0.706453 27.5213 0.194149 29.574 0.225C31.6212 0.192282 33.6403 0.704812 35.424 1.71C37.128 2.68229 38.5214 4.11781 39.4425 5.85C40.4297 7.68979 40.9285 9.75195 40.8915 11.8395C40.9815 18.54 36.144 23.4068 29.565 23.3303ZM29.5763 21.2085C34.7715 21.2692 38.412 17.3273 38.3513 11.808H38.3468C38.3963 6.28425 34.8323 2.28375 29.5718 2.358C24.3113 2.28825 20.718 6.28875 20.7788 11.808C20.718 17.325 24.3405 21.2692 29.5763 21.2085Z" fill="white"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M79.5152 23.3302C72.9002 23.4067 68.083 18.54 68.1752 11.8395C68.1389 9.75421 68.6312 7.69368 69.6062 5.85C70.5364 4.11991 71.9333 2.68554 73.6382 1.71C77.2941 -0.269982 81.7026 -0.269982 85.3585 1.71C87.0625 2.68229 88.4558 4.11781 89.377 5.85C90.3664 7.68916 90.8676 9.75136 90.8327 11.8395C90.9227 18.54 86.0852 23.4 79.5152 23.3302ZM79.5107 21.2085C84.706 21.2693 88.3465 17.3273 88.2857 11.808L88.2812 11.8125C88.3307 6.28875 84.7667 2.28825 79.5062 2.3625C74.2502 2.28825 70.6502 6.3 70.7132 11.808C70.6502 17.325 74.275 21.2693 79.5107 21.2085Z" fill="#E9533F"/>
<path d="M93.3751 22.8757H101.138C103.761 22.8757 105.521 22.5877 106.794 21.8452C108.324 20.9452 109.067 19.449 109.067 16.9492C109.067 15.5677 108.794 14.4922 108.234 13.7182C107.689 12.9384 106.938 12.3248 106.065 11.9452C104.828 11.4249 103.557 10.9889 102.26 10.6402L100.01 9.99C99.0736 9.7376 98.1562 9.41803 97.2653 9.03375C96.7301 8.7882 96.2736 8.3987 95.9468 7.90875C95.6436 7.34664 95.4975 6.71316 95.5238 6.075C95.5238 4.878 95.8276 4.11975 96.5408 3.62025C97.3283 3.08925 98.4353 2.8755 100.269 2.8755H107.325L107.44 0.674999H100.557C97.0111 0.706499 95.8568 1.05525 94.6441 2.04075C93.5978 2.94075 93.0376 4.34475 93.0376 6.10425C93.0376 8.77275 93.9376 10.2127 95.5688 11.0542C96.6786 11.5834 97.8367 12.0045 99.0271 12.312L102.074 13.1467C102.956 13.3772 103.818 13.6782 104.652 14.0468C105.233 14.2989 105.731 14.708 106.092 15.228C106.441 15.714 106.607 16.3665 106.607 17.1833C106.607 18.5333 106.198 19.458 105.395 19.989C104.544 20.52 103.424 20.664 101.543 20.664H93.3751V22.8757Z" fill="#E9533F"/>
</svg>

+ 77
- 0
sandbox/index.php Näytä tiedosto

@@ -0,0 +1,77 @@
<?php get_header() ?>

<?php if ( have_posts() ) { ?>

<section id="content" class="articles wrapper container">
<header <?php post_class('section-header'); ?>>
<h1 class="title"><?php echo get_the_title(get_option('page_for_posts')); ?></h1>
</header>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="inner">

<?php while ( have_posts() ) : the_post() ?>

<?php
$post_type = get_post_type();
$post_meta = get_post_custom();
$more_text = sandbox_get_more_text($post_type, $post_meta);

// echo var_dump(!empty($customPostsMeta["_custom_more_text"]));
$excerpt = apply_filters('the_content', has_excerpt() ? get_the_excerpt() : wp_trim_words(get_the_content(), 40));

// post thumbnail as background image
$thumbnail_style = '';
if ( has_post_thumbnail() ) {
$thumbnail_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'full') . ');"';
}
?>

<article id="post-<?php the_ID() ?>" <?php post_class(); ?>>
<div class="inner">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>" class="post-thumbnail"<?php echo $thumbnail_style; ?>><?php the_post_thumbnail('sandbox-default'); ?></a>
<?php } ?>
<div class="content">
<h2 class="title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<?php echo $excerpt; ?>
<a class="button" href="<?php the_permalink() ?>"><?php printf($more_text); ?></a>
<?php if ( $meta = sandbox_get_meta_data(array('rtime', 'date', 'author', 'terms')) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</div>
</article><!-- .post -->

<?php endwhile; ?>

<?php if ( function_exists('wp_pagenavi') ) {

wp_pagenavi(); // http://wordpress.org/plugins/wp-pagenavi/

} else {

?>

<nav id="nav-below" class="navigation">
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older results', 'sandbox' ) ) ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer results <span class="meta-nav">&raquo;</span>', 'sandbox' ) ) ?></div>
</nav>

<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
</section>

<?php } ?>

<?php get_footer() ?>

+ 979
- 0
sandbox/js/actions.js Näytä tiedosto

@@ -0,0 +1,979 @@
// Custom page actions
;(function($){
'use strict';

window.sandboxTheme = function(){
var $body = $('body'),
eventNames = ['resize', 'scroll', 'ready', 'load', 'sticky'],
readyStates = ['interactive', 'complete'],
trigger_event = function(){
var feature,
featureName,
eventName = typeof arguments[0] !== 'undefined' ? arguments[0] : null;

if ( eventName && $.inArray(eventName, eventNames) !== -1 ) {
// Trigger all features
for ( featureName in sandboxTheme.features ) {
if ( sandboxTheme.features.hasOwnProperty(featureName) ) {
if ( sandboxTheme.info['feature-' + featureName] ) {
feature = sandboxTheme.features[featureName];
if ( feature.hasOwnProperty(eventName) ) {
feature[eventName]();
}
}
}
}
}
},
ready_events_register = function(){
trigger_event('ready');
$(window).on('scroll', function(){
trigger_event('scroll');
});
$(window).on('debouncedresize', function(){
trigger_event('resize');
});
},
setup = function setup(){
var featureName,
feature,
featureOptions,
dataName,
dataValue,
data = arguments[0];

sandboxTheme.info = {};
sandboxTheme.page = {};

if ( $.isPlainObject(data) ) {
for ( dataName in data ) {
if ( data.hasOwnProperty(dataName) ) {
dataValue = dataName === 'id' ? parseInt(data[dataName]) : data[dataName];

if ( dataName !== 'info') {
sandboxTheme.page[dataName] = dataValue;
}
}
}
if ( data.hasOwnProperty('info') ) {
for ( dataName in data.info ) {
if ( data.info.hasOwnProperty(dataName) ) {
sandboxTheme.info[dataName] = data.info[dataName];
}
}
}
}

$.log(data);

// Loop through all features to set all neccessary data
for ( featureName in sandboxTheme.features ) {
if ( sandboxTheme.features.hasOwnProperty(featureName) ) {
feature = sandboxTheme.features[featureName];

// Make a copy of merged page feature options and feature options
// jQuery.extend() will take care for a boolean value of options.page.features[featureName]
featureOptions = $.extend(true, {}, feature.options || {});

// Merge the feature with common feature functions, options and info
$.extend(true, feature, {
options: featureOptions,
info: {
name: featureName,
/**
* Lookup for a hash fragment that starts with the features name
* false if no match is found
*/
hash: window.location.hash.length > 0 && window.location.hash.match('^#' + featureName) ? window.location.hash.replace('#' + featureName + '-', '') : false,
}
});
sandboxTheme.info['feature-' + featureName] = Boolean(feature.setup());
}
}

// Execute events
if ( $.inArray(document.readyState, readyStates) !== -1 ) {
ready_events_register();
} else {
$(document).on('DOMContentLoaded readyStates', function(){
ready_events_register();
});
}
$(window).on('load', function(){
trigger_event('load');
});
};

return {
init: function init(){
setup(arguments[0] || null);
},
$body: $body,
is_page: function is_page(){
var id = typeof arguments[0] !== 'undefined' ? parseInt(arguments[0]) : null;

if ( id ) {
return id === sandboxTheme.page.id;
} else {
return sandboxTheme.info.is_page;
}
},
get_page: function get_page(){
var property = typeof arguments[0] === 'string' ? arguments[0] : null;

if ( property ) {
if ( sandboxTheme.page.hasOwnProperty(property) ) {
return sandboxTheme.page[property];
} else {
return 'ERROR: no page property called "' + property + '"';
}
} else {
return sandboxTheme.page;
}
},
trigger: function trigger(eventName){
var eventName = typeof arguments[0] !== 'undefined' ? arguments[0] : null;

if ( eventName && $.inArray(eventName, eventNames) !== -1 ) {
trigger_event(eventName);
}
}
};
}();

sandboxTheme.features = {


/**
* Scrolled
* ========
* Controlls a className to be set, when the page has been scrolled
* Any layout based on this behaviour is at style.css
*/
scrolled: {
info: {
isScrolled: false
},
scroll: function scroll(){
if (this.$window.scrollTop() > 100){
if ( !this.info.isScrolled ) {
this.info.isScrolled = true;
sandboxTheme.$body.addClass(this.info.name);
}
} else {
if ( this.info.isScrolled ) {
this.info.isScrolled = false;
sandboxTheme.$body.removeClass(this.info.name);
}
}
},
ready: function ready(){
var scrollTop = 0;

this.$window = $(window);
this.$target = window.location.hash.length > 0 ? $(window.location.hash) : false;

if ( this.$target && this.$target.length > 0 ) {
scrollTop = this.$target.offset().top;
}
$('html, body').scrollTop(scrollTop);
this.scroll();
},
setup: function setup(){
var isSetup = true; //sandboxTheme.info.is_front_page || sandboxTheme.info.is_home || sandboxTheme.info.is_archive;
return isSetup;
}
},

/**
* Forms support
* =============
*/
forms: {
options: {
selectors: {
form: '.wpcf7-form',
form_container: '.content, .textwidget',
inputs: '.inputs, .textarea',
input_container: 'p',
label: 'label',
input: 'input'
},
classNames: {
focus: 'focus',
valued: 'valued',
},
},
events: function events(){
var selectors = this.options.selectors,
classNames = this.options.classNames;

this.$forms.each(function(index){
var $form = $(this),
$inputs = $form.find(selectors.input);

$inputs.on('focusin', function(){
$(this).parents(selectors.input_container).addClass(classNames.focus);
});
$inputs.on('focusout', function(){
var $input = $(this),
$input_container = $input.parents(selectors.input_container).first();

$input_container.removeClass(classNames.focus);

if ( $input.val() === '' ) {
if ( $input_container.is('.' + classNames.valued) ) {
$input_container.removeClass(classNames.valued);
}
} else if ( !$input_container.is('.' + classNames.valued) ) {
$input_container.addClass(classNames.valued);
}
});
$form.on('submit', function(){
$inputs.each(function(index){
$(this).parents(selectors.input_container).first().removeClass(classNames.valued);
});
});
});
},
ready: function ready(){
var selectors = this.options.selectors;

this.$forms = $(selectors.form);
this.events();
},
setup: function setup(){
return true;
}
},

/**
* Back to top
* ===========
*/
toTop: {
options: {
selectors: {
toTop: '.to-top'
}
},
events: function events(){
$(this.options.selectors.toTop).on('click', function(event){
$.mPageScroll2id('scrollTo', this.hash);
event.preventDefault();
});
},
ready: function ready(){
this.events();
},
setup: function setup(){
return true;
}
},

/**
* Offpage side menu with toggle button
* ====================================
* controls the behaviour of the mobile menu
* Visible on: Viewport lower then 987px
* Look at CSS for Layout
*/
sideMenu: {
options: {
outsideOff: true,
selectors: {
container:'#site-actions',
site_menu: '#site-menu > .inner',
source: '#site-menu .menu > li',
blackout: 'body > .blackout',
additional_content: '.header-bar',
logo: '#site-logo',
additional_items: '.add-to-sideMenu',
has_sub_menu: '.menu-item-has-children',
current_item: '.current-menu-item',
current_item_parent: '.current-menu-parent',
current_item_parents: '.current-menu-ancestor',
main: '#main'
},
classNames: {
toggler: 'toggle',
active: 'active',
visible: 'visible',
menu: 'menu',
sub_menu: 'sub-menu',
searcher: 'search',
additional: 'additional',
parentLink: 'sub-menu-parent-link'
}
},
templates:{
toggler: '<a />',
// Animated CSS Bars like svg rect elements
icon: '<div><span></span><span></span><span></span><span></span></div>',
},
info: {},
toggle_sub_menu: function toggle_sub_menu($item){
var active_class = this.options.classNames.toggler + '-' + this.options.classNames.active,
$sub_menu_parent = $item.parent(),
$active_sub_menu_parent = this.$has_sub_menu.filter('.' + active_class);

if ( $active_sub_menu_parent.length > 0 ) {
$active_sub_menu_parent.removeClass(active_class);
$active_sub_menu_parent.children('ul').slideUp(250);
}
if ( !$sub_menu_parent.is($active_sub_menu_parent) ) {
$sub_menu_parent.addClass(active_class);
$sub_menu_parent.children('ul').slideDown(250)
}
},
events: function events(){
var info = this.info,
classNames = this.options.classNames,
selectors = this.options.selectors,
$toggler = this.$toggler,
$sideMenu = this.$sideMenu,
sideMenu = this;

// Toggle menu Off/On Page with toggler
this.$toggler.on('click', function(event){
if ( info.isVisible ) {
$toggler.removeClass(classNames.active);
$sideMenu.removeClass(classNames.visible);
sandboxTheme.$body.removeClass(info.name + '-' + classNames.visible);
info.isVisible = false;
} else {
$toggler.addClass(classNames.active);
$sideMenu.addClass(classNames.visible).find('a').eq(0).trigger('focus');
sandboxTheme.$body.addClass(info.name + '-' + classNames.visible);
info.isVisible = true;
}
event.preventDefault();
});

// Toggle sub_menu Display
this.$has_sub_menu.children('a').on('click', function click(event){
sideMenu.toggle_sub_menu($(this));
event.preventDefault();
});

// Toggle menu Off/On Page with Outside Click
if ( this.options.outsideOff === true ) {
this.$blackout.on('click', function(){
$toggler.trigger('click').trigger('focus');
});
}

},
ready: function ready(){
var options = this.options,
info = this.info,
templates = this.templates,
classNames = options.classNames,
selectors = options.selectors,
sideMenu = this;

this.$container = $(selectors.container);
this.$site_menu = $(selectors.site_menu);

// Get sources
this.$logo = $(selectors.logo).clone().removeAttr('id');
this.$additional_content = $(selectors.additional_content).clone().addClass(classNames.additional).removeAttr('id');
this.$source = $(selectors.source).clone();

// include sources to $sideMenu
this.$source.appendTo(this.$container).wrapAll('<nav class="' + info.name + '" id="' + info.name + '" />').wrapAll('<ul class="' + classNames.menu + '" />');

// Menus
this.$sideMenu = this.$source.parents('#' + info.name);
this.$has_sub_menu = this.$sideMenu.find(selectors.has_sub_menu);

this.$has_sub_menu.each(function(index){
var $sub_menu_parent = $(this),
$sub_menu = $sub_menu_parent.children('ul');

if ( $sub_menu_parent.is(selectors.current_item_parents) ) {
$sub_menu_parent.addClass(classNames.toggler + '-' + classNames.active)
sideMenu.$active_sub_menu_parent = $sub_menu_parent;
} else {
$sub_menu.hide();
}
$sub_menu.prepend($('<li class="' + classNames.parentLink + '" />').prepend($sub_menu.prev('a').clone()))
});
this.$logo.appendTo(this.$sideMenu);
this.$additional_content.appendTo(this.$sideMenu);

// Interactions
this.$toggler = $(templates.toggler).attr('href', '#' + info.name).attr('id', info.name + '-' + classNames.toggler).addClass(info.name + ' ' + classNames.toggler);
this.$toggler.html(templates.icon);
this.$toggler.appendTo(this.$site_menu);
this.$blackout = $(selectors.blackout);

this.events();

//
sandboxTheme.$body.addClass(info.name + '-' + classNames.active);
},
setup: function setup(){
this.info.isVisible = false;
return true;
}
},

/**
* Nicer comments form
* ===================
*/
comments: {
options: {
offset: 70,
selectors: {
comments: '#comments',
respond: '#respond',
commentForm: '#commentform',
comment_field: '#comment',
trigger: '.comment-reply-title',
replytocom: '.comment-form-replytocom',
need_login: '.need-login',
}
},
info: {
isTriggered: false
},
events: function events(){
var $trigger = this.$trigger,
$commentForm = this.$commentForm,
$comment_field = this.$comment_field,
$respond = this.$respond,
offset = this.options.offset,
info = this.info;

$trigger.on('click.' + info.name, function(event){
if ( !info.isTriggered ) {
$('body').addClass(info.name + '-visible');
$commentForm.trigger('focusin.' + info.name).slideDown(600, 'swing');
info.isTriggered = true;
} else {
$('body').removeClass(info.name + '-visible');
$commentForm.trigger('blur.' + info.name).slideUp(600, 'swing');
info.isTriggered = false;
}
event.preventDefault();
});

if ( !this.$comments.is(this.options.selectors.replytocom) ){
$commentForm.on('submit', function(){
if ( $comment_field.val() === '' ) {
$comment_field.val('Ohne Begründung');
}
});
}
},
resize: function resize(){},
ready: function ready(){
var selectors = this.options.selectors;

this.$comments = $(selectors.comments);
this.$respond = $(selectors.respond);
this.$commentForm = $(selectors.commentForm).hide();
this.$comment_field = $(selectors.comment_field);
this.$trigger = this.$respond.find(selectors.trigger).not(selectors.need_login);

this.events();

if ( window.location.hash === selectors.respond ) {
this.$trigger.trigger('click');
}
},
setup: function setup(){
return sandboxTheme.info.comments_open && sandboxTheme.info.is_user_logged_in;
}
},


/**
* accordeon
* =========
*/
accordeon: {
options: {
speed: 300, // {number} Speed of the slideUp/Down animation
initOpen: 1, // {number} initial accordion to show on page load, 0 = all accordions are closed!
scrollToInitOpen: true, // {boolean} scroll to the open item on init? Only works when initShow is set or a hash opens an item.
scrollToInitOpenOffset: 60, // {number} calulate an extra offset when jumpToInitOpen is true (eg. use with fixed header)
selectors: { // select DOM elements
container: '#content > *', // where to look at accordions
title: '.title',
},
classNames: { // Class names will be mixed with the name space "accordion"
heading: 'heading', // {string} Accordion heading class
trigger: 'trigger', // {string} Accordion open/close trigger class
content: 'content', // {string} Accordion content class
no: 'no', // {string} Accordion leave out class
opened: 'opened', // {string} Accordion is opened
closed: 'closed', // {string} Accordion is closed
enabled: 'enabled',
},
},
templates: {
div: '<div />',
link: '<a href="" />'
},

/**
* Store any dynamic information about your feature here.
*
* @usage
* Use it like the Modernizr object:
*
* if ( this.info.myInfo ) {
* // do stuff
* }
*
* var myInfo = this.info.myInfo
*/
info: {

/**
* Index/Count of the accordion items
*
* We increase to 1 before the first accordion is markuped for good readabilty.
* Always remeber that the first element of an array has an index of 0!
*/
index: 1
},
events: function events(){
var options = this.options,
selectors = options.selectors,
classNames = options.classNames,
info = this.info,
accordeon = this;

this.$headings.each(function(){
var $heading = $(this),
$accordeon = $heading.parent(), // not guaranteed
$accordeon_content = $heading.next('.' + info.name),
accordeon_id = $heading.is(selectors.title) ? $accordeon.attr('id') : false,
accordeon_content_id = $accordeon_content.attr('id');

$heading.children('a').on('click', function(event){
var scrollTop = $(window).scrollTop();

if ( $heading.is('.' + classNames.opened) ) {
$heading.removeClass(classNames.opened);
$accordeon_content.stop().slideUp(options.speed, function(){
$heading.addClass(classNames.closed);
if ( window.location.hash === '#' + accordeon_id || window.location.hash === '#' + accordeon_content_id ) {
window.location.hash = '';
$(window).scrollTop(scrollTop);
}
});
} else {
$heading.addClass(classNames.opened);
$accordeon_content.stop().slideDown(options.speed, function(){
$heading.removeClass(classNames.closed);
if ( accordeon_id ) {
$accordeon.removeAttr('id');
window.location.hash = accordeon_id;
$accordeon.attr('id', accordeon_id);
} else {
$accordeon_content.removeAttr('id');
window.location.hash = accordeon_content_id;
$accordeon_content.attr('id', accordeon_content_id);
}
});
}
event.preventDefault();
});
});
},
ready: function ready(){
var options = this.options,
selectors = this.options.selectors,
classNames = this.options.classNames,
info = this.info,
templates = this.templates,
$accordeons = $(),
accordeon_ids = [],
open_index = options.initOpen,
location_id = window.location.hash.replace('#', '');


this.$container = $(selectors.container);
this.$headings = this.$container.find('.' + info.name).not('.' + classNames.no + '-' + info.name);


/**
* collect accordeon data
*/
this.$headings.each(function(){
var $heading = $(this),
$accordeon = $heading.parent();

if ( $heading.is(selectors.title) ) { // then has no ".inner" div next
$accordeons = $accordeons.add($accordeon);
accordeon_ids.push($accordeon.attr('id'));
}
});

/**
* Set the index of the initial opened accordeon
*/
if ( accordeon_ids.indexOf(location_id) >= 0 ) {
open_index = accordeon_ids.indexOf(location_id)+1;
} else if ( info.hash ) {
open_index = info.hash;
if ( accordeon_ids.length > 0 ) {
window.location.hash = accordeon_ids[open_index-1];
}
}

/**
* Generate the accordion items and open the one to show initial or selected by location.hash
*
* Only headings that dont have the 'no-accordion' class and
* have content until the next heading are valid accordion item selectors
*/
this.$headings.each(function(){
var $heading = $(this),
$accordeon_content = $heading.nextUntil('.' + info.name);

if ( $accordeon_content.length > 0 ) {
$heading.removeClass(info.name).addClass(info.name + '-' + classNames.heading);

if ( !$heading.is(selectors.title) ) { // then has no ".inner" div next
$heading.wrapInner(templates.link).children('a').attr('href', '#' + info.name + '-' + info.index)
$accordeon_content = $accordeon_content.wrapAll(templates.div);
$accordeon_content.attr('id', info.name + '-' + info.index);
}
$accordeon_content.addClass(info.name);

/**
* the one to open initial
*/
if ( open_index === info.index ) {
$heading.addClass(classNames.opened);


/**
* scroll to the opened item?
*/
if ( options.initOpen !== open_index && options.scrollToInitOpen ) {
$(window).scrollTop($heading.offset().top-parseInt(options.scrollToInitOpenOffset));
}
} else {
$heading.addClass(classNames.closed);
$accordeon_content.hide();
}

/**
* Count valid accordions
*/
info.index++;
}
});

this.$accordeons = $accordeons.length > 0 ? $accordeons : false;
this.info.accordeon_ids = accordeon_ids.length > 0 ? accordeon_ids : false;

this.events();
document.body.classList.add(info.name + '-' + classNames.enabled);
},
setup: function setup(){
if ( this.info.hash ) {
// use hash as initOpen index
this.info.hash = parseInt(this.info.hash);
}
return true; // sandboxTheme.is_page(8); // true on Kurssuche;
}
},


/**
* FAQ navigation
*/
faq_nav: {
options: {
page_slug: 'faqs', // FAQ page slug/permalink
scrollOffset: 60, // {number} calulate an extra offset when scrolling to accordeon
speed: 300,
selectors: {
nav: '.faq-navigation',
menu: '.menu',
sub_menu: '.sub-menu',
has_children: '.menu-item-has-children',
articles: '.articles',
faq_heading: '.title'
},
classNames: {
active: 'active',
closed: 'closed',
opened: 'opened',
},
},
events: function events(){
var options = this.options,
selectors = options.selectors,
classNames = options.classNames;

// submenu open/close
this.$menu.children('li').children('a').on('click', function(event){
var $menu_item = $(this).parent(),
$sub_menu = $(this).next(selectors.sub_menu);

if ( $menu_item.is('.' + classNames.opened) ) {
$menu_item.removeClass(classNames.opened);
$sub_menu.stop().slideUp(options.speed, function(){
$menu_item.addClass(classNames.closed);
});
} else {
$menu_item.addClass(classNames.opened);
$sub_menu.stop().slideDown(options.speed, function(){
$menu_item.removeClass(classNames.closed);
});
}
event.preventDefault();
});

// direct to faq accordions and open on demand
this.$menu.find(selectors.sub_menu).find('a').on('click', function(event){
var $heading = $(this.hash).children(selectors.title),
trigger_index = 0;

$('html, body').stop().animate({
scrollTop: $heading.offset().top-parseInt(options.scrollOffset),
}, options.speed, 'swing', function(){
if ( trigger_index === 0 && !$heading.is('.' + classNames.opened) ) { // gets called twice for html and body
$heading.children('a').trigger('click');
}
trigger_index++;
});

event.preventDefault();
});
},
ready: function ready(){
var selectors = this.options.selectors,
classNames = this.options.classNames,
location_id = window.location.hash.replace('#', ''),
$active_menu_item,
$opend_menu_item,
accordeon = sandboxTheme.features.accordeon;

// sections selection
this.$nav = $(selectors.nav);
this.$menu = this.$nav.find(selectors.menu);

/**
* Set the index of the initial opened accordeon
*/
if ( accordeon.info.accordeon_ids && accordeon.info.accordeon_ids.length > 0 && accordeon.info.accordeon_ids.indexOf(location_id) >= 0 ) {
$active_menu_item = this.$menu.find('a[href="' + window.location.hash + '"]');
$opend_menu_item = $active_menu_item.parents('li').last();
} else {
$opend_menu_item = this.$menu.children('li').first();
}
this.$menu.find(selectors.sub_menu).hide().parent('li').addClass(classNames.closed);

// event handling
this.events();

// initiate
$opend_menu_item.children('a').trigger('click');
},
setup: function setup(){
var is_setup = sandboxTheme.get_page('slug') === this.options.page_slug; // only on FAQ page
return is_setup;
}
},


/**
* social widget support
* =====================
*/
social: {
options: {
selectors: {
widget: '#social-2',
title: '.title',
list: 'ul',
list_item: 'li'
},
classNames: {
open: 'open',
}
},
info: {

},
events: function events(){
var selectors = this.options.selectors,
classNames = this.options.classNames,
info = this.info,
$list = this.$list,
$body = sandboxTheme.$body;

this.$social.find(selectors.title).on('click', function(event){
// $.log($body.is('.' + info.name + '-' + classNames.open));
if ( $body.is('.' + info.name + '-' + classNames.open) ) {
$body.removeClass(info.name + '-' + classNames.open);
} else {
$body.addClass(info.name + '-' + classNames.open);
}
event.preventDefault();
});
},
ready: function ready(){
this.$social = $(this.options.selectors.widget);

if ( this.$social.length > 0 ) {
this.$list = this.$social.find(this.options.selectors.list);
this.events();
}
},
setup: function setup(){
return sandboxTheme.info.is_single && sandboxTheme.info.post_type === 'alpha_download'; // true on Lernmaterial;
}
},

/**
* Carousel
* ========
*/
carousel: {
options: {
classNames:{
prev: 'prev',
next: 'next'
},
selectors: {
container: 'section.slider',
carousel: '.slides',
slides: '.slide',
navigation: '.prev-next'
},
carouFredSel: {
direction: 'up',
height: 'variable',
items: {
visible: 1,
},
scroll: {
easing: 'swing',
fx: 'scroll',
duration: 1000,
pauseOnHover: true,
},
auto: {
play: true,
duration: 2000,
timoutDuration: 5
}
},
texts: {
prev: 'Zur&uuml;ck',
next: 'Vor',
}
},
resize: function resize(){},
get_size: function get_size(){
return {
height: this.$container.parent().height(),
width: this.$container.parent().width()
};
},
set_size: function set_size(){
var scrollDuration = this.options.carouFredSel.scroll.duration,
size = this.get_size();

this.$container.animate({
width: size.width,
height: size.height,
}, {
duration: scrollDuration
});
this.$slides.animate({
width: size.width,
height: size.height,
}, {
duration: scrollDuration
});
},
ready: function ready(){
var selectors = this.options.selectors,
classNames = this.options.classNames,
carousel = this;

this.$container = $('.slider');
this.info.active = this.$container.length > 0;

if ( this.info.active ) {
this.$navigation = $('<div class="' + classNames.prev + '-' + classNames.next + '"></div>');
this.$carousel = this.$container.find(selectors.carousel);
this.$slides = this.$carousel.find(selectors.slides);

$.extend(this.options.carouFredSel, {
pagination: {
container: '.slider-nav',
keys: true,
anchorBuilder: function anchorBuilder(index){
return '<li><a href="#"><span>' + index + '</span></a></li>';
}
},
prev: {
button: function(){
var $prev = $('<a class="' + classNames.prev + '">Zur&uuml;ck</a>');

$prev.appendTo(carousel.$navigation);
return $prev;
}
},
next: {
button: function(){
var $next = $('<a class="' + classNames.next + '">Vor</a>');

$next.appendTo(carousel.$navigation);
return $next;
}
}
});

// Slider Javascript Powered
this.$navigation.appendTo(this.$container);
this.$carousel.carouFredSel(this.options.carouFredSel, {
debug: true
});
}
},
setup: function setup(){
var isSetup = sandboxTheme.info.is_front_page; // || sandboxTheme.info.is_home;

this.info.active = false;
return isSetup;
}
}
};

/**
* Initiate theme actions
*
* merges WP REST API results with theme_data
*
* @object sandboxTheme_data data handed over with wp_localize_script
* @object pageData WP REST API result
*
* @uses sandboxTheme.init() initiates the page theme actions
*/
var siteData = $.getJSON(sandboxTheme_data.urls.rest);

siteData.done(function(pageData){
if ( $.isPlainObject(pageData) ) {
sandboxTheme.init($.extend(sandboxTheme_data, pageData));
} else {
sandboxTheme.init(sandboxTheme_data);
}
}).error(function(){
sandboxTheme.init(sandboxTheme_data);
});

})(jQuery);

+ 1330
- 0
sandbox/js/allcountries.js
File diff suppressed because it is too large
Näytä tiedosto


+ 58
- 0
sandbox/js/jquery.plugins.js
File diff suppressed because it is too large
Näytä tiedosto


+ 117
- 0
sandbox/page-alternate.php Näytä tiedosto

@@ -0,0 +1,117 @@
<?php
/**
* Template Name: Alternate
*
* Page template with left aligne headline and sidebars aligned to headline.
*
*/

get_header() ?>

<?php the_post() ?>

<?php
$site_host = parse_url(get_site_url(), PHP_URL_HOST);
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);

$content = '';
$post_class = 'no-download';
$content_meta_args = array('date');

// post thumbnail as background image
$post_style = '';
if ( has_post_thumbnail() ) {
$post_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'sandbox-hero') . ');"';
}

// Post type "page" fields
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($content) ) {
$content = apply_filters('the_content', get_the_content());
}
?>
<article id="content" <?php post_class($post_class) ?>>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="content inner">
<header class="content-header clearfix"<?php echo $post_style; ?>>
<div class="inner">
<h1 class="title"><?php the_title(); ?>
<?php if ( !empty($download_url) ) { ?>
<a class="download" href="<?php echo $download_url; ?>"<?php echo $download_target; ?>><?php echo __('Download', 'sandbox'); ?></a>
<?php } ?></h1>
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<?php if ( has_excerpt() ) { ?>
<div class="intro">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php if ( $meta = sandbox_get_meta_data($content_meta_args) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</header>
<?php if ( !empty($content) ) { ?>
<?php echo $content; ?>
<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
<?php // If comments are open or we have at least one comment, load up the comment template. ?>
<?php if ( comments_open() || get_comments_number() ) { ?>
<?php comments_template('/comments.php'); ?>
<?php } ?>
</article><!-- .post -->
<?php } ?>

<?php get_footer() ?>

+ 123
- 0
sandbox/page-faqs.php Näytä tiedosto

@@ -0,0 +1,123 @@
<?php
/**
* Template Name: FAQ
*
* Page template with normal content area including an FAQ section after the post.
*
*/

get_header() ?>

<?php the_post() ?>

<section id="content" class="articles">
<header id="post-<?php the_ID(); ?>" <?php post_class('section-header'); ?>>
<h1 class="title"><?php the_title() ?></h1>
<div class="intro content">
<?php the_content() ?>
</div>
</header>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="inner">
<?php
/**
* FAQ entries
* grouped by topic
* ordered by menu_order *
*/
$faq_ids = get_posts(array(
'post_type' => 'faq',
'posts_per_page' => -1,
'fields' => 'ids',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => '_hide',
'value' => 1,
'compare' => 'NOT LIKE',
),
array(
'key' => '_hide',
'value' => 'bug #23268',
'compare' => 'NOT EXISTS',
)
),
));
$topic_term_names = get_terms(array(
'taxonomy' => 'topic',
'object_ids' => $faq_ids,
'fields' => 'names',
'orderby' => 'order', // needs plugin https://github.com/stuttter/wp-term-order/
'order' => 'ASC',
));
?>

<?php if ( !empty($topic_term_names) && !is_wp_error($topic_term_names) ) { ?>
<?php foreach ( $topic_term_names as $topic_term_name ) { ?>
<?php
$faq_options = array(
'post_type' => 'faq',
'tax_query' => array(
array(
'field' => 'name',
'taxonomy' => 'topic',
'terms' => $topic_term_name,
)
),
'meta_query' => array(
'relation' => 'OR',
array(
'key' => '_hide',
'value' => 1,
'compare' => 'NOT LIKE',
),
array(
'key' => '_hide',
'value' => 'bug #23268',
'compare' => 'NOT EXISTS',
)
),
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$faq_query = new WP_Query($faq_options);
?>

<?php if ( $faq_query->have_posts() ) { ?>
<?php while ( $faq_query->have_posts() ) {
$faq_query->the_post(); ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_slug = sandbox_get_the_slug();
$content = apply_filters('the_content', get_the_content());
?>
<article id="<?php echo $post_slug; ?>" <?php post_class() ?>>
<h2 class="title accordeon"><a href="#content-<?php echo $post_slug; ?>"><?php the_title() ?></a></h2>
<?php if ( !empty($content) ) { ?>
<div id="content-<?php echo $post_slug; ?>" class="inner content">
<?php echo $content; ?>
</div>
<?php } ?>
</article><!-- .post -->
<?php } ?>
<?php wp_reset_postdata(); ?>
<?php } ?>

<?php } ?>
<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
</section>

<?php get_footer() ?>

+ 197
- 0
sandbox/page-home.php Näytä tiedosto

@@ -0,0 +1,197 @@
<?php
/**
* Template Name: Home
*
* Page template with wide content area and without the secondary sidebar .
*
*/

get_header() ?>

<?php the_post() ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

$section_classes = array();
$excerpt = '';
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// post thumbnail as background image
$post_style = '';
if ( has_post_thumbnail() ) {
$section_classes[] = 'has-thumbnail';
$post_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'sandbox-hero') . ');"';
}

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

if ( empty($excerpt) ) {
$excerpt = apply_filters('the_content', has_excerpt() ? get_the_excerpt() : get_the_content());
}
?>
<section id="content" class="articles wrapper container <?php echo implode(' ', $section_classes); ?>">
<header id="post-<?php the_ID(); ?>" <?php post_class('section-header'); ?><?php echo $post_style; ?>>
<div class="inner">
<h1 class="title"><?php the_title() ?></h1>
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<?php if ( !empty($excerpt) ) { ?>
<div class="intro">
<?php echo $excerpt; ?>
</div>
<?php } ?>
</div>
</header>
<div class="inner">
<?php
/**
* Custom teaser loop
* ==================
* Needs a post type "teaser"
* Looks for featured images
* ------------------------
* Fill out your post query
*
*/
$startpagePagesOptions = array(
'post_type' => 'any',
'teaser' => 'in-3-schritten-zum-pool',
'posts_per_page' => 3,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$customQuery = new WP_Query($startpagePagesOptions);
// include(locate_template('loop-teaser-linked.php'));
?>
</div>
</section>
<?php
/**
* Product post type / Type tax / Products
* =======================================
*/
$product_post_type_name = 'produkt';
$product_post_type_object = get_post_type_object($product_post_type_name);
?>
<?php if ( $product_post_type_object && $product_post_type_object->has_archive ) { ?>
<?php
$post_type_ID = esc_attr($product_post_type_name);
$post_type_url = esc_url(get_post_type_archive_link($product_post_type_name));
$post_type_labels = apply_filters('post_type_labels_' . $product_post_type_name, $product_post_type_object->labels);
$post_type_label = apply_filters('the_title', $product_post_type_object->label);
$moreText = 'View all ' . $post_type_labels->name;
if ( $product_post_type_name === 'download_aktion_de' ) {
$moreText = __('To', 'sandbox') . ' ' . $post_type_labels->name;
}
$post_type_description = apply_filters('the_content', apply_filters('get_the_post_type_description', $product_post_type_object->description, $product_post_type_object));
$post_type_classes = array(
$product_post_type_name,
'type-' . $product_post_type_name,
'status-publish',
'has-post-thumbnail',
'hentry',
'has-thumbnail',
);
$post_type_image = esc_url(get_template_directory_uri() . '/img/' . esc_attr($product_post_type_name) . '.jpg');
$post_type_style = ' style="background-image:url('. esc_url(get_stylesheet_directory_uri()) . '/img/logo-windpool.svg), url(' . $post_type_image . ');"';

/**
* types - Produkttypen
* ====================
* mit Top 4 Artikel je Bereich sortiert nach Reihenfolge
*/
$types_taxonomy = get_taxonomy('typ');
$types_options = array(
'taxonomy' => $types_taxonomy->name,
'post_type' => $post_type,
'orderby' => 'term_order',
'order' => 'ASC',
);
$types = new WP_Term_Query($types_options);
$types_terms = $types->get_terms();
?>
<section id="<?php echo $post_type_ID; ?>" class="<?php echo esc_attr(implode(' ', $post_type_classes)); ?>">
<header class="section-header"<?php echo $post_type_style; ?>>
<div class="inner">
<h2 class="title"><a href="<?php echo $post_type_url; ?>?mtb=h-l-<?php echo $post_type_ID; ?>"><?php echo $post_type_label; ?></a></h2>
<?php if ( !empty($post_type_description) ) { ?>
<div class="intro">
<?php echo $post_type_description; ?>
<?php if ( !empty( $types->terms ) ) { ?>
<ul class="terms-list taxonomy-<?php echo $types_taxonomy->name; ?>">
<?php foreach( $types_terms as $type ) { ?>
<?php
$type_url = esc_url(get_term_link($type));
$type_classes = array(
'more',
$type->taxonomy,
$type->taxonomy . '-' . $type->slug,
$type->slug
);
$type_meta = get_term_meta($type->term_id);
$type_image_id = isset($type_meta['_term_image']) && !empty($type_meta['_term_image'][0]) ? intval($type_meta['_term_image'][0]) : 0;
// post thumbnail as background image
$type_style = '';
if ( $type_image_id !== 0 ) {
$type_classes[] = 'has-post-thumbnail';
$type_image_src = wp_get_attachment_image_src($type_image_id, 'sandbox-default');
$type_style = ' style="background-image:url(' . $type_image_src[0] . ');"';
}
$type_description = isset($type_meta['_term_short_description']) && !empty($type_meta['_term_short_description'][0]) ? $type_meta['_term_short_description'][0] : wp_trim_words($type->description, 40);
?>
<li class="<?php echo implode(' ', $type_classes); ?>"><a href="<?php echo $type_url; ?>" rel="bookmark"><?php echo apply_filters('the_title', $type->name); ?></a></li>
<?php } ?>
<li class="more"><a href="<?php echo $post_type_url; ?>?mtb=h-b-<?php echo $post_type_ID; ?>"><?php printf( $moreText ); ?></a></li>
</ul>
<?php } ?>
</div>
<?php } ?>
</div>
</header>
<div class="inner">
<?php if ( !empty( $types->terms ) ) { ?>
<?php foreach( $types_terms as $type ) { ?>
<?php
$type_url = esc_url(get_term_link($type));
$type_posts_limit = 4;
$type_posts_options = array(
'tax_query' => array(array(
'taxonomy' => $type->taxonomy,
'field' => 'slug',
'terms' => $type->slug
)),
'orderby' => 'menu_order',
'order' => 'ASC',
'posts_per_page' => $type_posts_limit,
);
?>
<?php $customQuery = new WP_Query($type_posts_options); ?>
<?php if ( $customQuery->have_posts() ) { ?>
<div class="products articles <?php echo $type->taxonomy; ?>-<?php echo $type->slug; ?>">
<h3 class="title"><?php echo __('Top', 'sandbox'), ' ', $customQuery->post_count, ' ', $type->name; ?></h3>
<div class="inner">
<?php // include(locate_template('loop-archive.php')); ?>
</div>
<div class="content">
<p class="more">
<a href="<?php echo $type_url; ?>" rel="bookmark"><?php echo __('All', 'sandbox'); ?> <?php echo apply_filters('the_title', $type->name); ?></a>
</p>
</div>
</div>
<?php } ?>
<?php } ?>
<?php } ?>
</div>
</section>
<?php } ?>

<?php get_footer() ?>

+ 359
- 0
sandbox/page-sections.php Näytä tiedosto

@@ -0,0 +1,359 @@
<?php
/**
* Template Name: Sections
*
* Page template with normal content area including selected sections after the post.
* No Sidebars
*
*/

get_header() ?>

<?php the_post() ?>

<?php
$site_host = parse_url(get_site_url(), PHP_URL_HOST);
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);

$content = '';
$post_class = 'no-download';
$content_meta_args = array();

// post style attribute
$post_style = '';

$color_hex_pattern = '/#([a-f0-9]{3}){1,2}\b/i';
$has_background_color = isset($post_meta['_background-color']) && preg_match($color_hex_pattern, $post_meta['_background-color']);
$has_post_style = $has_background_color;

if ( $has_post_style ) {
$post_style = ' style="';
}

// background-color
if ( $has_background_color ) {
$post_style .= 'background-color:' . $post_meta['_background-color'] . ';';
$post_class .= ' has-background-color';
}
if ( $has_post_style ) {
$post_style .= '"';
}

// Dark or light color scheme
if ( isset($post_meta['_color-scheme']) ) {
$post_class .= ' color-scheme-' . $post_meta['_color-scheme'];
}


// Show image before or after the content
if ( isset($post_meta['_image-position']) ) {
$post_class .= ' image-position-' . $post_meta['_image-position'];
}

// Show image with shadow or not
if ( isset($post_meta['_image-shadow']) ) {
$post_class .= ' thumbnail-' . $post_meta['_image-shadow'];
}

// Post type "page" fields
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($content) ) {
$content = apply_filters('the_content', get_the_content());
}
?>
<?php if ( $has_background_color ) { ?>
<style type="text/css">
#main .sections-header .title::before { border-color:<?php echo $post_meta['_background-color']; ?>; }
</style>
<?php } ?>
<article id="content" <?php post_class($post_class) ?><?php echo $post_style; ?>>
<?php if ( has_post_thumbnail() ) { ?>
<span class="post-thumbnail"><?php the_post_thumbnail('full'); ?></span>
<?php } ?>
<div class="content inner">
<header class="content-header">
<div class="inner">
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline content">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<h1 class="title"><?php the_title(); ?></h1>
<?php if ( !empty($download_url) ) { ?>
<a class="download" href="<?php echo $download_url; ?>"<?php echo $download_target; ?>><?php echo __('Download', 'sandbox'); ?></a>
<?php } ?></h1>
<?php if ( has_excerpt() ) { ?>
<div class="intro">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php if ( $meta = sandbox_get_meta_data($content_meta_args) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</header>
<?php if ( !empty($content) ) { ?>
<?php echo $content; ?>
<?php } ?>
</div>
<?php if ( isset($post_taxonomies['benefit']) && !empty($post_taxonomies['benefit']) ) { ?>
<div class="<?php echo esc_attr(sanitize_html_class(strtolower($post_taxonomies['benefit']['label']))); ?>">
<?php foreach ( $post_taxonomies['benefit']['terms'] as $benefit ) { ?>
<?php
$benefit_meta = get_term_meta($benefit['term_id']);
$benefit_thumbnail = $benefit_meta['_benefit-image'] !== false ? wp_get_attachment_image($benefit_meta['_benefit-image'][0], 'full') : false;
$benefit_icon_name = $benefit_meta['_benefit-icon'] !== false ? $benefit_meta['_benefit-icon'][0] : false;
?>
<div class="term-<?php echo esc_attr($post_taxonomies['benefit']['slug']); ?>">
<div class="term-thumbnail content">
<?php if ( $benefit_thumbnail ) { ?>
<?php echo $benefit_thumbnail; ?>
<?php } else if ( $benefit_icon_name ) { ?>
<span class="material-icon"><?php echo $benefit_icon_name; ?></span>
<?php } ?>
</div>
<div class="inner content">
<?php echo apply_filters('the_content', $benefit['description']); ?>
</div>
</div>
<?php } ?>
</div>
<?php } ?>
<?php // If comments are open or we have at least one comment, load up the comment template. ?>
<?php if ( comments_open() || get_comments_number() ) { ?>
<?php comments_template('/comments.php'); ?>
<?php } ?>
</article><!-- .post -->
<?php
/**
* Sectiongroups
*/
if ( isset($post_taxonomies['sectiongroup']) ) {
$sections_terms = $post_taxonomies['sectiongroup']['terms'];
?>
<?php foreach ( $sections_terms as $sections_term ) { ?>
<?php
/**
* Sections
*/
$sections_options = array(
'post_type' => 'section',
'tax_query' => array(array(
'taxonomy' => $post_taxonomies['sectiongroup']['slug'],
'field' => 'slug',
'terms' => $sections_term['slug'],
)),
'orderby' => 'menu_order',
'order' => 'ASC',
);
$post_class .= ' sections-header';
$sections_query = new WP_Query($sections_options);
?>
<?php if ( $sections_query->have_posts() ) { ?>
<?php if ( $post_meta['_sectiongroup-title-display'] === 'show' ) { ?>
<header class="<?php echo $post_class; ?>"<?php echo $post_style; ?>>
<div class="inner">
<h2 class="title"><span><?php echo $sections_term['label']; ?></span></h2>
</div>
</header>
<?php } ?>
<?php while ( $sections_query->have_posts() ) {
$sections_query->the_post(); ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);

$content = '';
$post_class = 'no-download';
$content_meta_args = array();

// post style attribute
$post_style = '';

$color_hex_pattern = '/#([a-f0-9]{3}){1,2}\b/i';
$has_background_color = isset($post_meta['_background-color']) && preg_match($color_hex_pattern, $post_meta['_background-color']);
$has_post_style = $has_background_color;

if ( $has_post_style ) {
$post_style = ' style="';
}

// background-color
if ( $has_background_color ) {
$post_style .= 'background-color:' . $post_meta['_background-color'] . ';';
$post_class .= ' has-background-color';
}
if ( $has_post_style ) {
$post_style .= '"';
}

// Dark or light color scheme
if ( isset($post_meta['_color-scheme']) ) {
$post_class .= ' color-scheme-' . $post_meta['_color-scheme'];
}

// Show image before or after the content
if ( isset($post_meta['_image-position']) ) {
$post_class .= ' image-position-' . $post_meta['_image-position'];
}

// Show image with shadow or not
if ( isset($post_meta['_image-shadow']) ) {
$post_class .= ' thumbnail-' . $post_meta['_image-shadow'];
}

// Post type "page" fields
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($content) ) {
$content = apply_filters('the_content', get_the_content());
}
?>
<article id="section-<?php sandbox_the_slug(); ?>" <?php post_class($post_class) ?><?php echo $post_style; ?>>
<?php if ( has_post_thumbnail() ) { ?>
<span class="post-thumbnail"><?php the_post_thumbnail('full'); ?></span>
<?php } ?>
<div class="content inner">
<?php if ( !has_term('testimonials', 'sectiongroup') ) { ?>
<header class="content-header">
<div class="inner">
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<h2 class="title"><?php the_title(); ?></h2>
<?php if ( !empty($download_url) ) { ?>
<a class="download" href="<?php echo $download_url; ?>"<?php echo $download_target; ?>><?php echo __('Download', 'sandbox'); ?></a>
<?php } ?></h1>
<?php if ( has_excerpt() ) { ?>
<div class="intro">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php if ( $meta = sandbox_get_meta_data($content_meta_args) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</header>
<?php } ?>
<?php if ( !empty($content) ) { ?>
<?php echo $content; ?>
<?php } ?>
</div>
<?php if ( isset($post_taxonomies['benefit']) && !empty($post_taxonomies['benefit']) ) { ?>
<div class="<?php echo esc_attr(sanitize_html_class(strtolower($post_taxonomies['benefit']['label']))); ?>">
<?php foreach ( $post_taxonomies['benefit']['terms'] as $benefit ) { ?>
<?php
$benefit_meta = get_term_meta($benefit['term_id']);
$benefit_thumbnail = $benefit_meta['_benefit-image'] !== false ? wp_get_attachment_image($benefit_meta['_benefit-image'][0], 'full') : false;
$benefit_icon_name = $benefit_meta['_benefit-icon'] !== false ? $benefit_meta['_benefit-icon'][0] : false;
?>
<div class="term-<?php echo esc_attr($post_taxonomies['benefit']['slug']); ?>">
<div class="term-thumbnail content">
<?php if ( $benefit_thumbnail ) { ?>
<?php echo $benefit_thumbnail; ?>
<?php } else if ( $benefit_icon_name ) { ?>
<span class="material-icon"><?php echo $benefit_icon_name; ?></span>
<?php } ?>
</div>
<div class="inner content">
<?php echo apply_filters('the_content', $benefit['description']); ?>
</div>
</div>
<?php } ?>
</div>
<?php } ?>
<?php // If comments are open or we have at least one comment, load up the comment template. ?>
<?php if ( comments_open() || get_comments_number() ) { ?>
<?php comments_template('/comments.php'); ?>
<?php } ?>
</article><!-- .post -->
<?php } ?>
<?php } ?>
<?php wp_reset_postdata(); ?>
<?php } ?>
<?php } ?>
<?php } ?>
<?php } ?>

<?php get_footer() ?>

+ 193
- 0
sandbox/page-team.php Näytä tiedosto

@@ -0,0 +1,193 @@
<?php
/**
* Template Name: Team
*
* Page template with normal content area including an events section after the post.
*
*/

get_header() ?>

<?php the_post() ?>

<section id="content" class="articles wrapper container">
<header id="post-<?php the_ID(); ?>" <?php post_class('section-header'); ?>>
<h1 class="title"><?php the_title() ?></h1>
<div class="intro content">
<?php the_content() ?>
</div>
</header>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="inner">
<?php
/**
* Team members with "_on_top" option
* ordered by menu_order *
*/
$team_on_top_options = array(
'post_type' => 'team',
'meta_query' => array(
array(
'key' => '_on_top',
'value' => 1,
'compare' => 'LIKE',
),
),
'posts_per_page' => -1,
'orderby' => 'menu_order',
'order' => 'ASC',
);
$team_on_top_query = new WP_Query($team_on_top_options);
?>
<?php if ( $team_on_top_query->have_posts() ) { ?>

<?php while ( $team_on_top_query->have_posts() ) {
$team_on_top_query->the_post(); ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$excerpt = apply_filters('the_content', has_excerpt() ? get_the_excerpt() : '');
$team_position = $post_meta['_team-position'];
$team_phone = $post_meta['_team-phone'];
$team_phone_display = sandbox_sanitize_phone($team_phone, true);
$team_email = $post_meta['_team-email'];
$team_linkedin = $post_meta['_team-linkedin'];

// post thumbnail as background image
$thumbnail_style = '';
if ( has_post_thumbnail() ) {
$thumbnail_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'full') . ');"';
}

?>
<article id="post-<?php the_ID() ?>" <?php post_class(); ?>>
<div class="inner">
<?php if ( has_post_thumbnail() ) { ?>
<span class="post-thumbnail"<?php echo $thumbnail_style; ?>><?php the_post_thumbnail('sandbox-default'); ?></span>
<?php } ?>
<div class="content">
<h2><?php the_title() ?></h2>
<?php if ( !empty($team_position) ) { ?>
<p class="position"><strong><?php echo $team_position; ?></strong></p>
<?php } ?>
<?php if ( !empty($excerpt) ) { ?>
<?php echo $excerpt; ?>
<?php } ?>
<ul class="contacts">
<?php if ( !empty($team_phone) ) { ?>
<li class="phone"><a href="tel:<?php echo $team_phone; ?>"><?php echo $team_phone_display; ?></a></li>
<?php } ?>
<?php if ( !empty($team_email) ) { ?>
<li class="mail"><a href="mailto:<?php echo $team_email; ?>"><?php echo $team_email; ?></a></li>
<?php } ?>
<?php if ( !empty($team_linkedin) ) { ?>
<li class="linkedin"><a href="<?php echo $team_linkedin; ?>" target="_blank" rel="noreferrer nofollow"><?php echo __('Get in touch', 'sandbox'); ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</article><!-- .post -->
<?php } ?>
<?php } ?>
<?php wp_reset_postdata(); ?>
<?php } ?>

<?php
/**
* Team members without "_on_top" option
* ordered by Name (title) *
*/
$team_options = array(
'post_type' => 'team',
'order' => 'ASC',
'orderby' => 'title',
'posts_per_page' => 100,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => '_on_top',
'value' => 1,
'compare' => 'NOT LIKE',
),
array(
'key' => '_on_top',
'value' => 'bug #23268',
'compare' => 'NOT EXISTS',
)
),
);
$team_query = new WP_Query($team_options);
?>
<?php if ( $team_query->have_posts() ) { ?>

<?php while ( $team_query->have_posts() ) {
$team_query->the_post(); ?>

<?php
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$excerpt = apply_filters('the_content', has_excerpt() ? get_the_excerpt() : '');
$team_position = $post_meta['_team-position'];
$team_phone = $post_meta['_team-phone'];
$team_phone_display = sandbox_sanitize_phone($team_phone, true);
$team_email = $post_meta['_team-email'];
$team_linkedin = $post_meta['_team-linkedin'];

// post thumbnail as background image
$thumbnail_style = '';
if ( has_post_thumbnail() ) {
$thumbnail_style = ' style="background-image:url(' . get_the_post_thumbnail_url($post_id, 'full') . ');"';
}

?>
<article id="post-<?php the_ID() ?>" <?php post_class(); ?>>
<div class="inner">
<?php if ( has_post_thumbnail() ) { ?>
<span class="post-thumbnail" <?php echo $thumbnail_style; ?>><?php the_post_thumbnail('sandbox-default'); ?></span>
<?php } ?>
<div class="content">
<h2><?php the_title() ?></h2>
<?php if ( !empty($team_position) ) { ?>
<p class="position"><strong><?php echo $team_position; ?></strong></p>
<?php } ?>
<?php if ( !empty($excerpt) ) { ?>
<?php echo $excerpt; ?>
<?php } ?>
<ul class="contacts">
<?php if ( !empty($team_phone) ) { ?>
<li class="phone"><a href="tel:<?php echo $team_phone; ?>"><?php echo $team_phone_display; ?></a></li>
<?php } ?>
<?php if ( !empty($team_email) ) { ?>
<li class="mail"><a href="mailto:<?php echo $team_email; ?>"><?php echo $team_email; ?></a></li>
<?php } ?>
<?php if ( !empty($team_linkedin) ) { ?>
<li class="linkedin"><a href="<?php echo $team_linkedin; ?>" target="_blank" rel="noreferrer nofollow"><?php echo __('Get in touch', 'sandbox'); ?></a></li>
<?php } ?>
</ul>
</div>
</div>
</article><!-- .post -->
<?php } ?>
<?php } ?>
<?php wp_reset_postdata(); ?>
<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
</section>

<?php get_footer() ?>

+ 224
- 0
sandbox/page-user.php Näytä tiedosto

@@ -0,0 +1,224 @@
<?php get_header(); ?>
<?php the_post(); ?>
<?php
/**
* user edit ajax system
* =====================
* passwords strenght meter taken from:
* https://code.tutsplus.com/articles/using-the-included-password-strength-meter-script-in-wordpress--wp-34736
* https://github.com/WordPress/WordPress/blob/master/wp-admin/js/user-profile.js#L223
* ajax idea:
* https://wordpress.stackexchange.com/questions/274778/updating-user-profile-with-ajax-not-working
* form field validation:
* https://itnext.io/https-medium-com-joshstudley-form-field-validation-with-html-and-a-little-javascript-1bda6a4a4c8c
* page template idea:
* https://wordpress.stackexchange.com/questions/9775/how-to-edit-a-user-profile-on-the-front-end
*/
$customPostsMeta = get_post_custom();
$subheadline = $customPostsMeta['_subheadline'][0];
$show_profile = is_user_logged_in();
$content_class = 'content clearfix';
if ( $show_profile ) {
$content_class .= ' content-profile';


/**
* @user collect user data to show
*/
$current_user = wp_get_current_user();
$current_user_favorites = get_user_meta($current_user->ID, '_favorite_posts', true);
$favorites = false;
if ( !empty($current_user_favorites) ) {
$favorites = new WP_Query(array(
'post_type' => 'any',
'post__in' => $current_user_favorites,
));
}
$current_users_comments = get_comments(array(
'user_id' => $current_user->ID,
));
$current_users_comments_number = count($current_users_comments);
$has_comments = $current_users_comments_number > 0;
$comment_item_args = array(
'avatar_size' => 150,
);
$comment_item_depth = 0;
$edit_data_attributes = ' data-edit="' . __('Bearbeiten', 'sandbox') . '" data-save="' . __('Speichern', 'sandbox') . '" data-saving="' . __('Speichert', 'sandbox') . '" data-saved="' . __('Gespeichert', 'sandbox') . '" data-generate="' . __('Passwort generieren', 'sandbox') . '"';
$edit_box = '<div class="user_edit"' . $edit_data_attributes . '><a href="#%s">' . __('Bearbeiten', 'sandbox') . '</a><div class="field">%s</div></div>';
$input_pattern = ' pattern="[A-Za-z0-9 ]{3,32}"';
$input_title = ' title="' . __('Nur Buchstaben oder Zahlen erlaubt') . '"';
$input_pattern_nickname = ' pattern="[a-zA-Z0-9-_ ]{3,32}"';
$input_title_nickname = ' title="' . __('Nur Buchstaben, Zahlen, Binde- und Unterstriche erlaubt') . '"';
$input_pattern_password = ' pattern="^[^\\\\]*$"';
$input_title_password = ' title="' . __('Alle Zeichen außer "\" sind erlaubt.') . '"';


/**
* Taken from WordPress
* https://github.com/WordPress/WordPress/blob/master/wp-admin/user-edit.php#L462
*/
$display_names = array();
$display_names['display_nickname'] = $current_user->nickname;
$display_names['display_username'] = $current_user->user_login;

if ( !empty($current_user->first_name) ) {
$display_names['display_firstname'] = $current_user->first_name;
}
if ( !empty($current_user->last_name) ) {
$display_names['display_lastname'] = $current_user->last_name;
}
if ( !empty($current_user->first_name) && !empty($current_user->last_name) ) {
$display_names['display_firstlast'] = $current_user->first_name . ' ' . $current_user->last_name;
$display_names['display_lastfirst'] = $current_user->last_name . ' ' . $current_user->first_name;
}
if ( !in_array( $current_user->display_name, $display_names) ) { // Only add this if it isn't duplicated elsewhere.
$display_names = array('display_displayname' => $current_user->display_name) + $display_names;
}
$display_names = array_map('trim', $display_names);
$display_names = array_unique($display_names);
}
// echo var_dump($current_user->first_name);
?>
<?php if ( $show_profile ) { ?>
<article id="content" <?php post_class(array('wrapper', 'container')) ?>>
<header class="content-header">
<figure class="avatar"><?php echo get_avatar($current_user->ID); ?></figure>
<div class="inner">
<h1 class="title"><?php echo $current_user->data->display_name; ?></h1>
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
</div>
<?php
/**
* @Sidebar Content
*/
get_sidebar('content-header'); ?>
</header>
<div class="content content-profile-name clearfix">
<?php
/**
* @Sidebar Meta
*/
get_sidebar('meta'); ?>
<h3><?php echo __('Ihre Daten', 'sandbox'); ?></h3>
<dl class="profile-data user_edit-disabled">
<dt class="user_login"><?php echo __('Benutzername', 'sandbox'); ?></dt>
<dd id="profile-user_login">
<div class="current"><?php echo $current_user->user_login; ?></div>
</dd>
<dt class="first_name"><?php echo __('Vorname', 'sandbox'); ?></dt>
<dd id="profile-first_name" class="user_edit"<?php echo $edit_data_attributes; ?>>
<div class="field">
<input type="text" name="first_name" id="first_name"<?php echo $input_pattern; ?><?php echo $input_title; ?> placeholder="<?php echo $current_user->first_name; ?>" disabled />
<button class="abort" title="<?php echo __('Abbrechen', 'sandbox'); ?>"></button>
</div>
<div class="current"><?php echo $current_user->first_name; ?></div>
<label class="edit_link" for="first_name" data-mode="edit"><?php echo __('Bearbeiten', 'sandbox'); ?></label>
</dd>
<dt class="last_name"><?php echo __('Nachname', 'sandbox'); ?></dt>
<dd id="profile-last_name" class="user_edit"<?php echo $edit_data_attributes; ?>>
<div class="field">
<input type="text" name="last_name" id="last_name"<?php echo $input_pattern; ?><?php echo $input_title; ?> placeholder="<?php echo $current_user->last_name; ?>" disabled />
<button class="abort" title="<?php echo __('Abbrechen', 'sandbox'); ?>"></button>
</div>
<div class="current"><?php echo $current_user->last_name; ?></div>
<label class="edit_link" for="last_name" data-mode="edit"><?php echo __('Bearbeiten', 'sandbox'); ?></label>
</dd>
<dt class="nickname"><?php echo __('Spitzname', 'sandbox'); ?></dt>
<dd id="profile-nickname" class="user_edit"<?php echo $edit_data_attributes; ?>>
<div class="field">
<input type="text" name="nickname" id="nickname"<?php echo $input_pattern_nickname; ?><?php echo $input_title_nickname; ?> placeholder="<?php echo $current_user->nickname; ?>" disabled />
<button class="abort" title="<?php echo __('Abbrechen', 'sandbox'); ?>"></button>
</div>
<div class="current"><?php echo $current_user->nickname; ?></div>
<label class="edit_link" for="nickname" data-mode="edit"><?php echo __('Bearbeiten', 'sandbox'); ?></label>
</dd>
<dt class="display_name"><?php echo __('Anzeigename', 'sandbox'); ?></dt>
<dd id="profile-display_name" class="user_edit"<?php echo $edit_data_attributes; ?>>
<div class="field">
<select name="display_name" id="display_name" disabled>
<?php foreach ( $display_names as $key => $value ) { ?>
<option <?php selected($current_user->display_name, $value); ?>><?php echo $value; ?></option>
<?php } ?>
</select>
<button class="abort" title="<?php echo __('Abbrechen', 'sandbox'); ?>"></button>
</div>
<div class="current"><?php echo $current_user->display_name; ?></div>
<label class="edit_link" for="display_name" data-mode="edit"><?php echo __('Bearbeiten', 'sandbox'); ?></label>
</dd>
<dt class="pass1"><?php echo __('Passwort', 'sandbox'); ?></dt>
<dd id="profile-pass1" class="user_edit"<?php echo $edit_data_attributes; ?>>
<div class="field">
<input type="password" name="pass1" id="pass1" placeholder="<?php echo __('Neues Passwort eingeben'); ?>" value="" autocomplete="off" data-pw="<?php echo esc_attr(wp_generate_password(24)); ?>"<?php echo $input_pattern_password; ?><?php echo $input_title_password; ?> />
<button class="hide" title="<?php echo __('Verbergen', 'sandbox'); ?>"></button>
<button class="abort" title="<?php echo __('Abbrechen', 'sandbox'); ?>"></button>
</div>
<div class="current">*****</div>
<label class="edit_link" for="pass1" data-mode="generate"><?php echo __('Passwort generieren', 'sandbox'); ?></label>
<div class="strength-meter"><?php echo __('Passwortstärke', 'sandbox'); ?>: <span></span></div>
</dd>
</dl>
</div>

<?php if ( $favorites && $favorites->have_posts() ) { ?>
<div class="content content-profile-favorites">
<h3><?php echo __('Sie haben', 'sandbox'); ?> <?php printf(_n('<span>ein</span> Lernmaterial', '<span>%s</span> Lernmaterialien', $favorites->post_count, 'sandbox'), number_format_i18n($favorites->post_count));?> <?php echo __('favorisiert', 'sandbox'); ?></h3>
<ol class="favorites-list profile-list">
<?php while ( $favorites->have_posts() ) {
$favorites->the_post();
$favoriteMeta = get_post_custom();
$favorite_id = get_the_ID();
$file_url = $favoriteMeta['_alpha_file_url'][0];
$file_size = $favoriteMeta['_alpha_file_size'][0];
$file_count = !empty($favoriteMeta['_alpha_file_count'][0]) ? intval($favoriteMeta['_alpha_file_count'][0]) : 0;
$file_options = unserialize($favoriteMeta['_alpha_file_options'][0]);
$description = $favoriteMeta['_download-description'][0];
$exercise = $favoriteMeta['_download-challenge'][0];
$author = $favoriteMeta['_download-author'][0];
$license = $favoriteMeta['_download-license'][0];
$favorite_post_type = get_post_type();
?>
<li id="favorite-<?php echo $favorite_id; ?>" <?php post_class('comment'); ?>>
<h4><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h4>
</li>
<?php } ?>
<?php wp_reset_postdata(); ?>
</ol>
</div>
<?php } else {?>
<div class="content content-profile-favorites">
<h3><?php echo __('Sie haben noch keine Lernmaterialien favorisiert', 'sandbox'); ?></h3>
<a href="<?php echo get_post_type_archive_link('alpha_download') ?>" class="more"><?php echo __('Zu den Lernmaterialien', 'sandbox'); ?></a>
</div>
<?php } ?>
<?php if ( $has_comments ) { ?>
<div class="content content-profile-comments">
<h3><?php echo __('Sie haben', 'sandbox'); ?> <?php printf(_n('<span>eine</span> Bewertung', '<span>%s</span> Bewertungen', $current_users_comments_number, 'sandbox'), number_format_i18n($current_users_comments_number));?> <?php echo __('verfasst', 'sandbox'); ?></h3>
<ol class="comment-list profile-list">
<?php foreach ( $current_users_comments as $comment ) {
if ( !isset($GLOBALS['comment']) ) {
$GLOBALS['comment'] = $comment;
}
$comment_post = get_post($comment->comment_post_ID);
?>
<li id="comment-<?php comment_ID(); ?>" <?php comment_class( $comment->has_children ? 'parent' : '', $comment ); ?>>
<h4><?php echo __('Verfasst zu'); ?> <a href="<?php the_permalink($comment->comment_post_ID); ?>"><?php echo get_the_title($comment->comment_post_ID); ?></a> <?php echo __('am'); ?> <?php printf( __('%1$s at %2$s'), get_comment_date('', $comment ), get_comment_time() ); ?></h4>
<?php if ('0' == $comment->comment_approved ) : ?>
<p class="comment-awaiting-moderation"><?php _e('Your comment is awaiting moderation.'); ?></p>
<?php endif; ?>

<?php echo apply_filters('comment_text', $comment->comment_content, $comment, $args); ?>
</li>
<?php } ?>
</ol>
</div>
<?php } ?>
</article><!-- .post -->
<?php } else { ?>
<?php the_content() ?>
<?php wp_link_pages('before=<div class="page-link">' . __('Pages:', 'sandbox') . '&after=</div>') ?>
<?php } ?>
<?php get_footer() ?>

+ 136
- 0
sandbox/page.php Näytä tiedosto

@@ -0,0 +1,136 @@
<?php get_header() ?>

<?php the_post() ?>

<?php
$site_host = parse_url(get_site_url(), PHP_URL_HOST);
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);

$content = '';
$post_class = 'no-download';
$content_meta_args = array('date');

// post style attribute
$post_style = '';

$color_hex_pattern = '/#([a-f0-9]{3}){1,2}\b/i';
$has_background_color = isset($post_meta['_background-color']) && preg_match($color_hex_pattern, $post_meta['_background-color']);
$has_post_style = $has_background_color;

if ( $has_post_style ) {
$post_style = ' style="';
}

// background-color
if ( $has_background_color ) {
$post_style .= 'background-color:' . $post_meta['_background-color'] . ';';
$post_class .= ' has-background-color';
}
if ( $has_post_style ) {
$post_style .= '"';
}

// Dark or light color scheme
if ( isset($post_meta['_color-scheme']) ) {
$post_class .= ' color-scheme-' . $post_meta['_color-scheme'];
}

// Show image before or after the content
if ( isset($post_meta['_image-position']) ) {
$post_class .= ' image-position-' . $post_meta['_image-position'];
}

// Post type "page" fields
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($content) ) {
$content = apply_filters('the_content', get_the_content());
}
?>
<article id="content" <?php post_class($post_class) ?><?php echo $post_style; ?>>
<header class="content-header">
<div class="inner">
<h1 class="title"><?php the_title(); ?>
<?php if ( !empty($download_url) ) { ?>
<a class="download" href="<?php echo $download_url; ?>"<?php echo $download_target; ?>><?php echo __('Download', 'sandbox'); ?></a>
<?php } ?></h1>
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline content">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<?php if ( has_excerpt() ) { ?>
<div class="intro">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php if ( $meta = sandbox_get_meta_data($content_meta_args) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</header>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="content inner">
<?php if ( has_post_thumbnail() ) { ?>
<span class="post-thumbnail" <?php echo $thumbnail_style; ?>><?php the_post_thumbnail('full'); ?></span>
<?php } ?>
<?php if ( !empty($content) ) { ?>
<?php echo $content; ?>
<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
<?php // If comments are open or we have at least one comment, load up the comment template. ?>
<?php if ( comments_open() || get_comments_number() ) { ?>
<?php comments_template('/comments.php'); ?>
<?php } ?>
</article><!-- .post -->
<?php } ?>

<?php get_footer() ?>

+ 817
- 0
sandbox/readme.html Näytä tiedosto

@@ -0,0 +1,817 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us" dir="ltr">
<head profile="http://gmpg.org/xfn/11">
<title>The Sandbox &middot; An explanation</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="content-language" content="en-us" />
<meta name="description" content="Sandbox: A highly semantic theme with powerful, dynamic class selectors" />
<meta name="keywords" content="sandbox,xhtml,hatom,hcard,microformats,semantics,css,wordpress" />
<style type="text/css" media="screen,projection">
/*<![CDATA[*/
body{background:#fcfcfc;color:#444;font:normal 70%/150% verdana,geneva,sans-serif;margin:0;padding:0;}
body blockquote{border-left:5px solid #f6f6f6;padding-left:0.5em;}
body code,body pre{font:1em/150% consolas,"courier new",courier,monospace;}
body div#readme{background:#fff;border-left:3px solid #f9f9f9;border-right:3px solid #f9f9f9;color:#444;margin:0 auto;padding:1em 2em;width:50em;}
body div#readme div#footer{margin:3em auto 1em;text-align:center;}
body div#readme div#footer p{background:#ffd;color:#666;display:inline;padding:0.2em 0.5em;}
body div#readme div#header{margin:0 auto;text-align:center;}
body div#readme div#header div.readme-version{font-size:0.9em;letter-spacing:0.1em;margin:0 0 0.5em;text-transform:uppercase;}
body h1{font-size:3.2em;}
body h1,body h2,body h3{font-family:garamond,georgia,times,serif;font-weight:400;}
body h2{font-size:2em;margin-top:3em;}
body h3{font-size:1.6em;margin-top:2em;}
body ol li ol li,body ol li#features ol li ol li{list-style:decimal;}
body ol li#functions h3{font-size:1.5em;}
body ol li#functions ol{list-style:lower-alpha;margin:0 0 0 2em;padding:0;}
body ol li#license blockquote a{color:#222;text-decoration:none;}
body ol li#license blockquote strong{font-size:0.9em;font-weight:400;text-transform:uppercase;}
body ol li,body ol#menu li ol li{list-style:upper-roman;}
body ol ul li{list-style:square;}
body ol li pre.shell{margin:-0.5em 2.5em 1em 1em;padding:0.2em 0.5em;background:#eee;}
body ol#menu li{list-style:none;}
body ol#menu li ol li ol li,body ol li#functions ol li,body ol li#features ol li{list-style:lower-roman;}
body pre span,body span.bold{font-weight:700;}
body p span.vcard span.family-name,body p span.vcard span.additional-name{display:none;}
table {width:100%;}
table *{border:none;}
table tbody th,table tfoot th{background:#ddd;text-align:left;}
table tbody tr.alt{background:#eee;}
table tr td,table tr th{padding:0.1em 0.5em;}
/*]]>*/
</style>
</head>
<body>
<div id="readme">
<div id="header">
<h1 id="title">The Sandbox</h1>
<div class="readme-version">Version 1.6.1</div>
<div class="readme-subtitle">A theme rich and powerful with dynamic semantic class selectors</div>
</div><!-- #header -->
<ol id="menu" class="xoxo">
<li>
<h2>Table of contents</h2>
<ol>
<li><a href="#introduction" title="Skip to Introduction">Introduction</a></li>
<li><a href="#installing" title="Skip to Installing">Installing</a></li>
<li><a href="#started" title="Skip to Getting started">Getting started</a></li>
<li><a href="#functions" title="Skip to Class functions">Class functions</a>
<ol>
<li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li>
<li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li>
<li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li>
</ol>
</li>
<li><a href="#features" title="Skip to Other features">Other features</a>
<ol>
<li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li>
<li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li>
</ol>
</li>
<li><a href="#creating" title="Skip to Creating Sandbox templates">Creating a theme template</a></li>
<li><a href="#filters" title="Skip to Available filters">Using filters</a></li>
<li><a href="#translations" title="Skip to Translations">Translations</a></li>
<li><a href="#standards" title="Skip to Web standards">Web standards</a></li>
<li><a href="#microformats" title="Skip to Microformats">Microformats</a></li>
<li><a href="#credits" title="Skip to Credits and thanks">Credits and thanks</a></li>
<li><a href="#license" title="Skip to License">License</a></li>
</ol>
</li>
</ol><!-- #menu .xoxo -->
<ol id="content" class="xoxo">
<li id="introduction">
<h2>Introduction</h2>
<p>Sandbox is a lot of things:</p>
<ul>
<li>For WordPress 2.6.x</li>
<li>Beautiful on the inside</li>
<li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li>
<li>Widgets friendly</li>
<li>The basis for your <abbr title="GNU General Public Licence">GPL</abbr>-licensed theme</li>
</ul>
<p>More importantly, the Sandbox <em>can be</em> a lot of things.</p>
<p>What began as <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>'s leftovers has become an advanced, semantics-based theme. <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> added his innovative semantic class-generating functions and Scott edited it to oblivion.</p>
<p>So what can you do with the Sandbox?</p>
<ul>
<li>You can just use it as-is and have a super-cool, truly minimalist theme.</li>
<li>You can thoroughly customize it with <abbr title="Cascading Style Sheets">CSS</abbr> alone.</li>
<li>You can use its functions, files, et al, as pleases you.</li>
<li>You can use it to learn a few things about <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>, and <abbr title="Hypertext Preprocessor">PHP</abbr>.</li>
</ul>
<p>The real feature of the Sandbox is its markup. The use of class-generating functions in the <code>body</code>, post <code>div</code>, and comment/trackback <code>li</code> elements create an exceptionally extensible foundation. As Andy said, <q cite="http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/" title="Generated Semantic Classes 2">Given straightforward markup with plenty of selectors, there isn't much that can't be accomplished with <abbr title="Cascading Style Sheets">CSS</abbr> and a decent browser.</q></p>
<p>And the implementation of the hAtom and hCard microformats means we're looking forward. You might be able to improve on our markup, but who wants to work that hard?</p>
</li><!-- #introduction -->
<li id="installing">
<h2>Installing</h2>
<p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p>
<ol>
<li>Download the latest <a href="http://www.plaintxt.org/themes/sandbox/" title="Sandbox theme for WordPress" rel="me">Sandbox</a> release</li>
<li>Extract the <code>/sandbox/</code> folder from the archive</li>
<li>Upload it to the <code>../wp-contents/themes/</code> directory</li>
<li>Activate the theme in the <i>Design</i> submenu</li>
<li>Enjoy</li>
</ol>
<p>You can read more detailed installation instructions on the <a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" title="Adding new themes - WordPress Codex" rel="external">WordPress Codex</a>.</p>
<h3>Subversion Access</h3>
<p>Developers interested in <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="Subersion - Wikipedia" rel="external">Subversion</a> access to the Sandbox repository may visit <a href="http://code.google.com/p/sandbox-theme" title="Sandbox theme on Google Code" rel="external">code.google.com/p/sandbox-theme</a>. Please ignore if unfamiliar with Subversion.</p>
<p>For the latest and possibly unstable version, check out the <code>/trunk/</code>:</p>
<pre class="shell">svn checkout http://sandbox-theme.googlecode.com/svn/trunk/</pre>
<p>A legacy version for WordPress 2.0.x is in <code>/branches/0.9/</code>. Otherwise, please check out tagged versions in the <code>/tags/</code> subdirectory. Tagged versions are stable and the latest release will be for the current stable version of WordPress.</p>
</li><!-- #installing -->
<li id="started">
<h2>Getting started</h2>
<p>For beginners getting started, see the example layouts in <code>/sandbox-layouts/</code>. Instructions for using the included layouts can be found in the folder.</p>
<p>The simplest way to get started with the Sandbox is to jump right in to <code>style.css</code>, using <abbr title="Cascading Style Sheets">CSS</abbr> to design the appearence of the Sandbox.</p>
<p>For help learning <abbr title="Cascading Style Sheets">CSS</abbr>, visit:</p>
<ul>
<li><a href="http://www.cssbasics.com/" title="CSS Basics.com" rel="external"><abbr title="Cascading Style Sheets">CSS</abbr> Basics.com</a></li>
<li><a href="http://www.html.net/tutorials/css/" title="HTML.net's CSS Tutorial" rel="external">HTML.net's <abbr title="Cascading Style Sheets">CSS</abbr> Tutorial</a></li>
<li><a href="http://www.htmldog.com/guides/cssbeginner/" title="HTML Dog's CSS Beginner Tutorial" rel="external">HTML Dog's <abbr title="Cascading Style Sheets">CSS</abbr> Beginner Tutorial</a></li>
<li><a href="http://www.stylegala.com/features/css-reference/" title="Stylegala's CSS Reference" rel="external">Stylegala's <abbr title="Cascading Style Sheets">CSS</abbr> Reference</a></li>
<li><a href="http://www.w3schools.com/css/default.asp" title="W3's CSS School" rel="external">W3's <abbr title="Cascading Style Sheets">CSS</abbr> School</a></li>
</ul>
<p>For Sandbox-related resources, including how-tos, Sandbox-based theme templates, and more, visit:</p>
<ul>
<li><a href="http://archgfx.net/" title="archGFX" rel="external">archGFX</a></li>
<li><a href="http://internetducttape.com/" title="InternetDuctTape" rel="external">Internet Duct Tape</a></li>
<li><a href="http://ntuat.wordpress.com/" title="Not (That) Ugly" rel="external">Sandbox Styles at <abbr title="Not (That) Ugly">NTU</abbr></a></li>
<li><a href="http://www.plaintxt.org/" title="plaintxt.org" rel="me">plaintxt.org</a></li>
<li><a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a></li>
<li><a href="http://www.sndbx.org/forums/" title="Sandbox Forums" rel="me">Sandbox Forums</a></li>
</ul>
<p>If you are interested in developing theme templates based on the Sandbox, see <a href="#creating" title="Creating theme templates">Creating theme templates</a> in this document.</p>
</li><!-- #started -->
<li id="functions">
<h2>Class functions</h2>
<p>The three semantic class-generating functions used in the Sandbox are charted below, outlining what semantic classes are generated (&#8220;Class&#8221;), any related WordPress function (&#8220;WP Tag&#8221;), and the usage of these classes (&#8220;Usage&#8221;). For more on the WP Tag aspect, read <a href="http://codex.wordpress.org/Template_Tags" title="Template tags &laquo; WordPress Codex" rel="external">Template Tags</a> and <a href="http://codex.wordpress.org/Conditional_Tags" title="Conditional Tags &laquo; WordPress Codex" rel="external">Conditional Tags</a> on the WordPress Codex.</p>
<ol>
<li id="body-class">
<h3><code>sandbox_body_class()</code></h3>
<p>The <code>sandbox_body_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the <code>body</code> element relative to the content of the page that is being displayed.</p>
<pre>&lt;body class="<span>&lt;?php sandbox_body_class() ?&gt;</span>"&gt;</pre>
<p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p>
<table id="body-class-table" summary="Classes given to the body element sandbody_body_class()">
<thead>
<tr>
<th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th>
</tr>
<tr>
<td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td>
</tr>
</tfoot>
<tbody>
<tr>
<th scope="col" abbr="class">Class</th>
<th scope="col" abbr="tag">WP Tag</th>
<th scope="col" abbr="use">Usage</th>
</tr>
<tr>
<td scope="row">archive</td>
<td><code>is_archive()</code></td>
<td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td>
</tr>
<tr class="alt">
<td scope="row">attachment</td>
<td><code>is_attachment()</code></td>
<td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td>
</tr>
<tr>
<td scope="row">attachmentid-[n]</td>
<td><code>is_attachment()</code></td>
<td>Displays the ID number of queried attachment page, where <i>[n]</i> is the ID, e.g., <code>attachmentid-20</code></td>
</tr>
<tr class="alt">
<td scope="row">attachment-[mime]</td>
<td><code>is_attachment()</code></td>
<td>For attachment posts (see above), where <i>[mime]</i> is the abbreviated <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type, e.g., <code>attachment-jpeg</code></td>
</tr>
<tr>
<td scope="row">author</td>
<td><code>is_author()</code></td>
<td>When a author archive page is displayed</td>
</tr>
<tr class="alt">
<td scope="row">author-[name]</td>
<td><code>is_author()</code></td>
<td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td>
</tr>
<tr>
<td scope="row">author-paged-[n]</td>
<td><code>is_author()</code> &amp; <code>is_paged()</code></td>
<td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td>
</tr>
<tr class="alt">
<td scope="row">blog</td>
<td><code>is_home()</code></td>
<td>When the page containing blog posts is displayed</td>
</tr>
<tr>
<td scope="row">category</td>
<td><code>is_category()</code></td>
<td>When a category archive page is displayed</td>
</tr>
<tr class="alt">
<td scope="row">category-[name]</td>
<td><code>is_category()</code></td>
<td>For a specific category, where <i>[name]</i> is the category slug, e.g., <code>category-useful-links</code></td>
</tr>
<tr>
<td scope="row">category-paged-[n]</td>
<td><code>is_category()</code> &amp; <code>is_paged()</code></td>
<td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td>
</tr>
<tr class="alt">
<td scope="row">d01&ndash;31</td>
<td><code>gmdate('d')</code></td>
<td>The current day of when the page is displayed (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">date</td>
<td><code>is_date()</code></td>
<td>When a date archive page is displayed, e.g., by month, by year</td>
</tr>
<tr class="alt">
<td scope="row">date-paged-[n]</td>
<td><code>is_date()</code> &amp; <code>is_paged()</code></td>
<td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td>
</tr>
<tr>
<td scope="row">h00&ndash;24</td>
<td><code>gmdate('h')</code></td>
<td>The current hour of when the page is displayed (Offset to GMT)</td>
</tr>
<tr class="alt">
<td scope="row">four04</td>
<td><code>is_404()</code></td>
<td>When a request results in zero posts, i.e., a 404 error page</td>
</tr>
<tr>
<td scope="row">home</td>
<td><code>is_front_page()</code></td>
<td>When the front page is displayed</td>
</tr>
<tr class="alt">
<td scope="row">m00&ndash;12</td>
<td><code>gmdate('m')</code></td>
<td>The current month of when the page is displayed (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">loggedin</td>
<td>n/a</td>
<td>When the page is displayed by a logged-in user</td>
</tr>
<tr class="alt">
<td scope="row">page</td>
<td><code>is_page()</code></td>
<td>When a page is displayed</td>
</tr>
<tr>
<td scope="row">page-author-[name]</td>
<td><code>is_page()</code></td>
<td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., <code>page-author-admin</code></td>
</tr>
<tr class="alt">
<td scope="row">page-child</td>
<td><code>is_page()</code></td>
<td>When the page is a child page to another page</td>
</tr>
<tr>
<td scope="row">page-paged-[n]</td>
<td><code>is_page()</code> &amp; <code>is_paged()</code></td>
<td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td>
</tr>
<tr class="alt">
<td scope="row">page-parent</td>
<td><code>is_page()</code></td>
<td>When the page has one or more child pages</td>
</tr>
<tr>
<td scope="row">page-template</td>
<td><code>is_page()</code></td>
<td>When the page is using a page template</td>
</tr>
<tr class="alt">
<td scope="row">page-template-[name]</td>
<td><code>is_page()</code></td>
<td>When the page is using a page template, where <i>[name]</i> is the file name of the page template</td>
</tr>
<tr>
<td scope="row">paged</td>
<td><code>is_paged()</code></td>
<td>When whatever is displayed is "paged," e.g., page 2 of the index</td>
</tr>
<tr class="alt">
<td scope="row">paged-[n]</td>
<td><code>is_paged()</code></td>
<td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., <code>paged-3</code> for third page of index</td>
</tr>
<tr>
<td scope="row">pageid-[n]</td>
<td><code>is_page()</code></td>
<td>Displays the page ID number of queried page, where <i>[n]</i> is the ID, e.g., <code>pageid-20</code></td>
</tr>
<tr class="alt">
<td scope="row">parent-pageid-[n]</td>
<td><code>is_page()</code></td>
<td>Displays the page ID of the current page's parent, where <i>[n]</i> is the ID, e.g., <code>parent-pageid-20</code></td>
</tr>
<tr>
<td scope="row">postid-[n]</td>
<td><code>is_single()</code></td>
<td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., <code>postid-20</code></td>
</tr>
<tr class="alt">
<td scope="row">search</td>
<td><code>is_search()</code></td>
<td>When the results of a search are displayed</td>
</tr>
<tr>
<td scope="row">single</td>
<td><code>is_single()</code></td>
<td>When a single post is displayed</td>
</tr>
<tr class="alt">
<td scope="row">s-author-[name]</td>
<td><code>is_single()</code> &amp; <code>is_author()</code></td>
<td>For a single post published by a specific author, where <i>[name]</i> is the user's login name, e.g., s-author-admin</td>
</tr>
<tr>
<td scope="row">s-category-[name]</td>
<td><code>is_single()</code> &amp; <code>is_category()</code></td>
<td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., <code>s-category-news</code></td>
</tr>
<tr class="alt">
<td scope="row">s-d01&ndash;31</td>
<td><code>gmdate('d')</code></td>
<td>For a single post published on a specific day (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">s-h00&ndash;24</td>
<td><code>gmdate('h')</code></td>
<td>For a single post published at a specific hour (Offset to GMT)</td>
</tr>
<tr class="alt">
<td scope="row">s-m00&ndash;12</td>
<td><code>gmdate('m')</code></td>
<td>For a single post published in a specific month (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">s-tag-[name]</td>
<td><code>is_single()</code> &amp; <code>is_tag()</code></td>
<td>For a single post published with a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>s-category-foo-bar</code></td>
</tr>
<tr class="alt">
<td scope="row">s-y2007</td>
<td><code>gmdate('Y')</code></td>
<td>For a single post published in a specific year (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">tag</td>
<td><code>is_tag()</code></td>
<td>When a tag archive page is displayed</td>
</tr>
<tr class="alt">
<td scope="row">tag-[name]</td>
<td><code>is_tag()</code></td>
<td>For a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td>
</tr>
<tr>
<td scope="row">tag-paged-[n]</td>
<td><code>is_tag()</code> &amp; <code>is_paged()</code></td>
<td>Displays the "paged" number of tag archive, where <i>[n]</i> is the paginated number</td>
</tr>
<tr class="alt">
<td scope="row">wordpress</td>
<td>n/a</td>
<td>When anything is displayed; a class that is always applied</td>
</tr>
<tr>
<td scope="row">y2007</td>
<td><code>gmdate('Y')</code></td>
<td>The current year of when the page is display (Offset to GMT)</td>
</tr>
</tbody>
</table><!-- #body-class-table -->
</li><!-- #body-class -->
<li id="post-class">
<h3><code>sandbox_post_class()</code></h3>
<p>The <code>sandbox_post_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to each post <code>div</code> element, relative to the actual post it contains.</p>
<pre>&lt;div id="post-&lt;?php the_ID(); ?&gt;" class="<span>&lt;?php sandbox_post_class() ?&gt;</span>"&gt;</pre>
<p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p>
<table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()">
<thead>
<tr>
<th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th>
</tr>
<tr>
<td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td>
</tr>
</tfoot>
<tbody>
<tr>
<th scope="col" abbr="class">Class</th>
<th scope="col" abbr="tag">WP Tag</th>
<th scope="col" abbr="use">Usage</th>
</tr>
<tr>
<td scope="row">alt</td>
<td>n/a</td>
<td>For odd-numbered posts, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> posts</td>
</tr>
<tr class="alt">
<td scope="row">author-[name]</td>
<td><code>is_author()</code></td>
<td>For any specific author, where <i>[name]</i> is the user's login name, e.g., <code>author-admin</code></td>
</tr>
<tr>
<td scope="row">category-[name]</td>
<td><code>is_category()</code></td>
<td>For any specific category, where <i>[name]</i> is the category slug, e.g., <code>category-news</code></td>
</tr>
<tr class="alt">
<td scope="row">d01&ndash;31</td>
<td><code>gmdate('d')</code></td>
<td>For a post published on a specific day (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">draft</td>
<td>n/a</td>
<td>For a post saved as a draft, as contrasted with an published post</td>
</tr>
<tr class="alt">
<td scope="row">h00&ndash;24</td>
<td><code>gmdate('h')</code></td>
<td>For a post published at a specific hour (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">hentry</td>
<td>n/a</td>
<td>For the hAtom 0.1 specification, applied every post</td>
</tr>
<tr class="alt">
<td scope="row">m00&ndash;12</td>
<td><code>gmdate('m')</code></td>
<td>For a post published in a specific month (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">p[n]</td>
<td>n/a</td>
<td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., <code>p1</code> for the first post, <code>p2</code> for the second, <code>p3</code> for the third</td>
</tr>
<tr class="alt">
<td scope="row">page</td>
<td>n/a</td>
<td>A general class, applied to every page</td>
</tr>
<tr>
<td scope="row">post</td>
<td>n/a</td>
<td>A general class, applied to every post</td>
</tr>
<tr class="alt">
<td scope="row">private</td>
<td>n/a</td>
<td>For a post that has been saved as private</td>
</tr>
<tr>
<td scope="row">protected</td>
<td>n/a</td>
<td>For a post protected by a password</td>
</tr>
<tr class="alt">
<td scope="row">publish</td>
<td>n/a</td>
<td>For any published post, as contrasted with an unpublished draft</td>
</tr>
<tr>
<td scope="row">tag-[name]</td>
<td><code>is_tag()</code></td>
<td>For any specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td>
</tr>
<tr class="alt">
<td scope="row">untagged</td>
<td><code>is_tag()</code></td>
<td>If there are no tags assigned to the post</td>
</tr>
<tr>
<td scope="row">y2007</td>
<td><code>gmdate('Y')</code></td>
<td>For a post published in a certain year (Offset to GMT)</td>
</tr>
</tbody>
</table><!-- #post-class-table -->
</li><!-- #post-class -->
<li id="comment-class">
<h3><code>sandbox_comment_class()</code></h3>
<p>The <code>sandbox_comment_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the each comment <code>li</code> element (&#8220;comment&#8221; here meaning comments, trackbacks, and pingbacks).</p>
<pre>&lt;li id="comment-&lt;?php comment_ID(); ?&gt;" class="<span>&lt;?php sandbox_comment_class() ?&gt;</span>"&gt;</pre>
<p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p>
<table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()">
<thead>
<tr>
<th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th>
</tr>
<tr>
<td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td>
</tr>
</tfoot>
<tbody>
<tr>
<th scope="col" abbr="class">Class</th>
<th scope="col" abbr="tag">WP Tag</th>
<th scope="col" abbr="use">Usage</th>
</tr>
<tr>
<td scope="row">alt</td>
<td>n/a</td>
<td>For odd-numbered comments, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> comments</td>
</tr>
<tr class="alt">
<td scope="row">bypostauthor</td>
<td>n/a</td>
<td>When the comment author is also the post author</td>
</tr>
<tr>
<td scope="row">byuser</td>
<td>n/a</td>
<td>For comments by registered users</td>
</tr>
<tr class="alt">
<td scope="row">c-h00&ndash;24</td>
<td><code>gmdate('h')</code></td>
<td>For a comment posted at a specific hour (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">c[n]</td>
<td>n/a</td>
<td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., <code>c1</code> for the first comment, <code>c2</code> for the second, <code>c3</code> for the third</td>
</tr>
<tr class="alt">
<td scope="row">c-d01&ndash;31</td>
<td><code>gmdate('d')</code></td>
<td>For a comment posted on a specific date (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">c-m00&ndash;12</td>
<td><code>gmdate('m')</code></td>
<td>For a comment posted in a specific month (Offset to GMT)</td>
</tr>
<tr class="alt">
<td scope="row">c-y2007</td>
<td><code>gmdate('Y')</code></td>
<td>For a comment posted in a specific year (Offset to GMT)</td>
</tr>
<tr>
<td scope="row">comment</td>
<td>n/a</td>
<td>A general class, applied to every comment</td>
</tr>
<tr class="alt">
<td scope="row">comment-author-[name]</td>
<td>n/a</td>
<td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., <code>comment-author-susan</code></td>
</tr>
<tr>
<td scope="row">p[n]</td>
<td>n/a</td>
<td>For counting pingbacks relative to the first, where <i>[n]</i> is the number, e.g., <code>p1</code> for the first pingback, <code>p2</code> for the second, <code>p3</code> for the third</td>
</tr>
<tr class="alt">
<td scope="row">pingback</td>
<td>is_pingback()</td>
<td>When a comment is a pingback</td>
</tr>
<tr>
<td scope="row">t[n]</td>
<td>n/a</td>
<td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., <code>t1</code> for the first trackback, <code>t2</code> for the second, <code>t3</code> for the third</td>
</tr>
<tr class="alt">
<td scope="row">trackback</td>
<td>is_trackback()</td>
<td>When a comment is a trackback</td>
</tr>
</tbody>
</table><!-- #comment-class-table -->
</li><!-- #comment-class -->
</ol>
</li><!-- #functions -->
<li id="features">
<h2>Other features</h2>
<p>In addition to the more advanced, code-related features of the Sandbox, there are at least two other features that make the Sandbox a highly viable choice as a base theme.</p>
<ol>
<li id="comments">
<h3>Comments on pages</h3>
<p>Comments are not displayed on pages by default, but are displayed on posts, per the current convention. You can enable comments on a per page basis by adding a custom key/value with only the text <code>comments</code>.</p>
<p>To enable comments on a page:</p>
<ol>
<li>In the <i>Write &rsaquo; Page</i> menu, expand the <a href="http://codex.wordpress.org/Using_Custom_Fields" title="Custom Fields - WordPress Codex" rel="external">Custom Fields</a> box</li>
<li>In the <i>Custom Fields</i> box, add a new key with the exact text <code>comments</code></li>
<li>Add any text for a value (some text must be included for the key to save)</li>
<li>Click <i>Add Custom Field</i> to save the key/value</li>
<li>Comments should now be enabled on that page</li>
</ol>
<p>Enabling comments simply includes the <code>comments.php</code> file with the page. You can turn off comments on a page by deleting the <code>comments</code> key/value. This does not delete any exisiting comments, but simply disables <code>comments.php</code> from loading with the page.</p>
</li><!-- #comments -->
<li id="templates">
<h3>Page templates</h3>
<p>There are two <a href="http://codex.wordpress.org/Pages#Page_Templates" title="Page templates - WordPress Codex" rel="external">page templates</a> included: Links Page (<code>links.php</code>) and Archives Page (<code>archives.php</code>). You can add a title, text, and enable comments (see above) with both of these page templates.</p>
<p>To use the page templates:</p>
<ol>
<li>In the <i>Write &rsaquo; Page</i> menu, expand the <i>Page Templates</i> box</li>
<li>From the drop-down, select the page template to use</li>
<li>Add a title and text (optional) for the page</li>
<li>Click <i>Create New Page / Save</i> to publish the page</li>
</ol>
<p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p>
</li><!-- #templates -->
</ol>
</li><!-- #features -->
<li id="creating">
<h2>Creating a theme template</h2>
<p>If you are interested in creating a design for public release, consider creating a theme template based on the Sandbox. First read <a href="http://codex.wordpress.org/Designing_Themes_for_Public_Release" title="Designing Themes for Public Release - WordPress Codex" rel="external">Designing Themes for Public Release</a> on the WordPress Codex and seek support on the <a href="http://wordpress.org/support/" title="WordPress.org Support Forums" rel="external">WordPress.org Forums</a>.</p>
<p>A theme template is a WordPress theme that uses the <abbr title="Preprocessor Hypertext">PHP</abbr> files, e.g., <code>index.php</code>, <code>single.php</code>, in another theme folder but the <code>style.css</code> of the theme template.</p>
<p>For a collection of excellent theme templates designed for the Sandbox, visit the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>. In 2007, there were 46 designs submitted in the competition. All are examples of theme templates based on the Sandbox.</p>
<p>Creating a theme template is essentially the same as creating a regular theme for WordPress, except you are not modifying any of the theme files and instead providing an alternate <code>style.css</code>.</p>
<pre class="css">/*
THEME NAME: My Design
THEME URI: http://www.example.com/my-design/
DESCRIPTION: New curtains for an old room
VERSION: 0.1
AUTHOR: John Doe
AUTHOR Uri: http://www.example.com
TAGS: one column, two columns, three columns, awesome, blue, pink
TEMPLATE: sandbox
*/</pre>
<p>The line <code>TEMPLATE: sandbox</code> tells WordPress to use the theme files installed in the <code>/sandbox/</code> folder with the &quot;My Design&quot; <code>style.css</code> style sheet.</p>
<p>You can read more detailed information about developing <a href="http://codex.wordpress.org/Theme_Development#Theme_Style_Sheet" title="WordPress Theme Development - Theme Style Sheets" rel="external">WordPress Theme Style Sheets</a> or in <a href="http://forums.sndbx.org/viewtopic.php?id=4" title="Creating Sandbox-based theme templates" rel="external">Creating Sandbox-based theme templates</a> in the Sandbox Forums.</p>
</li><!-- #creating -->
<li id="filters">
<h2>Using filters</h2>
<p>Filters allow plugins and theme templates to change the data that the Sandbox returns to the browser without having to alter the theme fiiles. Filters provide a simple, clean way of altering what the Sandbox does without modifying the actual theme files.</p>
<p>For example, if you wanted to add a link to globalnav page list, you would have to edit the theme files. When you upgrade the theme files (or accidentally break something), you will have to go back and make this change again. By using the <code>globalnav_menu</code> filter, however, you can alter the output of the <code>sandbox_globalnav()</code> without changing a single theme file.</p>
<p>The chart below lists the filters available in the Sandbox theme.</p>
<table id="filters-table" summary="Filters available in the Sandbox theme for use by plugins and theme templates">
<thead>
<tr>
<th colspan="3" scope="colgroup">Sandbox filters</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="3" scope="colgroup">Filter examples</th>
</tr>
<tr>
<td colspan="3" scope="row" abbr="Filter example"><pre>// Sandbox produces 32px avatars -- too small!
function make_avatars_big() {
return '64';
}
// Add our function to the filter in Sandbox
add_filter( 'avatar_size', 'make_avatars_big' );</pre></td>
</tr>
</tfoot>
<tbody>
<tr class="alt">
<th scope="col" abbr="filter">Filter</th>
<th scope="col" abbr="ref">Reference</th>
<th scope="col" abbr="use">Usage</th>
</tr>
<tr>
<td scope="row">avatar_size</td>
<td><code>functions.php</code>, 280</td>
<td>Sets avatar image dimenions in pixels</td>
</tr>
<tr class="alt">
<td scope="row">body_class</td>
<td><code>functions.php</code>, 143</td>
<td>Adds classes to the <code>body</code> element</td>
</tr>
<tr>
<td scope="row">comment_class</td>
<td><code>functions.php</code>, 222</td>
<td>Adds classes to a comment <code>li</code> element</td>
</tr>
<tr class="alt">
<td scope="row">gallery_img_class</td>
<td><code>functions.php</code>, 280</td>
<td>Adds classes to gallery images</td>
</tr>
<tr>
<td scope="row">gallery_img_rel</td>
<td><code>functions.php</code>, 334</td>
<td>Adds <code>rel</code> attributes to gallery images</td>
</tr>
<tr class="alt">
<td scope="row">globalnav_menu</td>
<td><code>functions.php</code>, 23</td>
<td>Echos list of pages without white space</td>
</tr>
<tr>
<td scope="row">post_class</td>
<td><code>functions.php</code>, 183</td>
<td>Adds classes to a post <code>div</code> element</td>
</tr>
</tbody>
</table><!-- #filters-table -->
<p>For more information on using filters, see <a href="http://codex.wordpress.org/Plugin_API#Filters" title="Plugin API - Filters" rel="external">Plugin API: Filters</a> on the WordPress Codex. The initial discussion about <a href="http://forums.sndbx.org/viewtopic.php?id=8" title="Using filters in the Sandbox" rel="external">filters in the Sandbox</a> on the Sandbox Forums may be also useful.</p>
</li><!-- #filters -->
<li id="translations">
<h2>Translations</h2>
<p>The Sandbox allows for complete localization. For detailed information about translating the Sandbox into your language, see <a href="http://code.google.com/p/sandbox-theme/wiki/SandboxInYourLanguage" title="Sandbox in your language - Sandbox on Google Code" rel="external">Sandbox in your language</a> on the Sandbox wiki.</p>
<p>If you would like to submit a translation for the Sandbox, please open a new issue on the <a href="http://sandbox-theme.googlecode.com/" title="Sandbox on Google Code">Sandbox project home</a>. Please include both the <code>PO</code> and <code>MO</code> files. You're also welcome to help edit existing translations.</p>
<p>Translations have been graciously provided by the following individuals:</p>
<ul>
<li class="vcard">Brazilian Portuguese by <a class="fn n url" href="http://adrianocorreia.com/" title="Adriano Correia"><span class="given-name">Adriano</span> <span class="family-name">Correia</span></a></li>
<li class="vcard">Chilean Spanish by <a class="fn n url" href="http://daidaros.com/" title="Daidaros"><span class="nickname">Daidaros</span></a></li>
<li class="vcard">Danish by <a class="fn n url" href="http://danish-wordpress.dk/" title="Carl Andersen"><span class="given-name">Carl</span> <span class="family-name">Andersen</span></a></li>
<li class="vcard">French by <a class="fn n url" href="http://www.mederel.fr/" title="Emile de Weerd"><span class="given-name">Emile</span> <span class="family-name">de Weerd</span></a></li>
<li>German by <span class="vcard"><span class="given-name">Daniel</span> <span class="family-name">Netzer</span></span> and <span class="vcard"><a class="fn n url" href="http://blog.piecho.de/" title="Lars Piechowiak"><span class="given-name">Lars</span> <span class="family-name">Piechowiak</span></a></span></li>
<li>Italian by <span class="vcard"><a class="fn n url" href="http://www.nokao.com/" title="Nokao"><span class="nickname">Nokao</span></a></span> and <span class="vcard"><span class="given-name">Jan</span> <span class="family-name">Reister</span></span></li>
<li class="vcard">Japanese by <a class="fn n url" href="http://ideasilo.wordpress.com/" title="Takayuki Miyoshi"><span class="given-name">Takayuki</span> <span class="family-name">Miyoshi</span></a></li>
<li class="vcard">Norwegian by <a class="fn n url" href="http://kjell.langvass.org/" title="Kjell Knudsen"><span class="given-name">Kjell</span> <span class="family-name">Knudsen</span></a></li>
<li class="vcard">Simplified Chinese by <a class="fn n url" href="http://www.wpcng.com/" title="WordPress Chinese Group"><span class="org">WordPress Chinese Group</span></a></li>
<li class="vcard">Spanish by <a class="fn n url" href="http://daidaros.com/" title="Daidaros"><span class="nickname">Daidaros</span></a></li>
</ul>
</li><!-- #translations -->
<li id="standards">
<h2>Web standards</h2>
<p>The Sandbox is compliant with both <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> and <abbr title="Cascading Style Sheets">CSS</abbr> standards. What does this mean? An explanation of web standards from <a href="http://webstandards.org" title="Web Standards Project" rel="external">The Web Standards Project</a>:</p>
<blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?">
<p>Complying with web standards can give your web pages greater visibility in web searches. The structural information present in compliant documents makes it easy for search engines to access and evaluate the information in those documents, and they get indexed more accurately.</p>
<p>Accessibility is an important idea behind many web standards. Not only does this mean allowing the web to be used by people with disabilities, but also allowing web pages to be understood by people using browsers other than the usual ones&mdash;including voice browsers that read web pages aloud to people with sight impairments, Braille browsers, hand-held browsers, teletext displays, and other unusual output devices.</p>
</blockquote>
<p>You can read more about developing with web standards at <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/webstandards/" title="Developing with web standards" rel="external">456 Berea Street</a>.</p>
</li><!-- #standards-->
<li id="microformats">
<h2>Microformats</h2>
<p><a href="http://microformats.org/" title="Microformats.org" rel="external">Microformats</a> are markup that express semantic information in your blog. People and machines can extract information from webpages marked up in a microformat much like feed readers extract information from Atom or <abbr title="Rich Site Summary">RSS</abbr> syndicated feeds. Essentially it's about making content more accessible.</p>
<p>Microformats that have been implemented in the Sandbox theme include (less <a href="http://gmpg.org/xfn/" title="XHTML Friends Network" rel="external"><abbr title="XHTML Friends Network">XFN</abbr></a>, which is built into WordPress):</p>
<ul>
<li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li>
<li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li>
<li><a href="http://microformats.org/wiki/rel-home" title="rel-home - Microformats" rel="external">rel="home"</a>: For marking links pointing to the blog home page</li>
<li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li>
</ul>
<p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic <abbr title="HyperText Markup Language">HTML</abbr>." It is a term used to refer to best practices of semantic <abbr title="HyperText Markup Language">HTML</abbr> development.</p>
<p>So the Sandbox can be highly <abbr title="Plain old semantic HTML">POSH</abbr>, but the semantic use of <abbr title="HyperText Markup Language">HTML</abbr> elements is completely up to you, the end user. To learn more about semantic <abbr title="HyperText Markup Language">HTML</abbr>, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue &sect; Markup Guide">Mezzoblue</a>.</p>
</li><!-- #microformats -->
<li id="credits">
<h2>Credits and thanks</h2>
<p>The Sandbox is a collaboration between <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com" rel="friend colleague external"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> and <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>.</p>
<p>Thanks to all those who have provided their assistance, know-how, and generally sound advice on all things Sandbox. You are many. But a <em>special</em> thanks to the follow individuals:</p>
<ul>
<li class="vcard"><a class="fn n url" href="http://archgfx.net/" title="archGFX" rel="friend colleague external"><span class="given-name">Adam</span></a></li>
<li class="vcard"><a class="fn n url" href="http://ntuat.wordpress.com/" title="ntu sandbox styles" rel="friend external"><span class="given-name">Carolyn</span></a></li>
<li class="vcard"><a class="fn n url" href="http://internetducttape.com/" title="Internet Duct Tape" rel="friend external"><span class="given-name">Engtech</span></a></li>
<li class="vcard"><a class="fn n url" href="http://lorelle.wordpress.com/" title="Lorell on WordPress" rel="contact external"><span class="given-name">Lorelle</span></a></li>
</ul>
<p>Thanks are due to those who helped ensure the success of the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>:</p>
<ul>
<li class="vcard"><a class="fn n url" href="http://www.css4design.com/blog/" title="CSS for Designr" rel="contact external"><span class="given-name">Bruno</span> <span class="family-name">Bichet</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.alistercameron.com/" title="Alister" rel="contact external"><span class="given-name">Alister</span> <span class="family-name">Cameron</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.websitestyle.com/" title="Nicole" rel="contact external"><span class="given-name">Nicole</span> <span class="family-name">Hernandez</span></a></li>
<li class="vcard"><a class="fn n url" href="http://alexking.org/" title="Alex" rel="contact external"><span class="given-name">Alex</span> <span class="family-name">King</span></a></li>
<li class="vcard"><a href="http://photomatt.net/" title="Matt" rel="contact external"><span class="given-name">Matt</span> <span class="family-name">Mullenweg</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.pressharbor.com/" title="PressHarbor" rel="contact external"><span class="org">PressHarbor</span></a></li>
<li class="vcard"><a class="fn n url" href="http://justagirlintheworld.com/" title="Lisa Sabin-Wilson" rel="contact external"><span class="given-name">Lisa</span> <span class="family-name">Sabin-Wilson</span></a></li>
<li class="vcard"><a class="fn n url" href="http://dowan.org/" title="Dowan.org" rel="contact external"><span class="given-name">Maja</span> <span class="family-name">Schmidt</span></a></li>
<li class="vcard"><a class="fn n url" href="http://theundersigned.net/" title="The undersigned" rel="contact external"><span class="given-name">Thomas</span> <span class="family-name">Silkj&aelig;r</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.wpdesigner.com/" title="WP Designer" rel="contact external"><span class="nickname">Small Potato</span></a></li>
<li class="vcard"><a class="fn n url" href="http://paulstamatiou.com/" title="Paul Stamatiou" rel="contact external"><span class="given-name">Paul</span> <span class="family-name">Stamatiou</span></a></li>
<li class="vcard"><a class="fn n url" href="http://bryanveloso.com/" title="Bryan Veloso" rel="contact external"><span class="given-name">Bryan</span> <span class="family-name">Veloso</span></a></li>
<li class="vcard"><a class="fn n url" href="http://beccary.com/" title="Beccary" rel="contact external"><span class="given-name">Becca</span> <span class="family-name">Wei</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.elizzza.net/" title="eliZZZa.net" rel="contact external"><span class="given-name">Elisabeth</span> <span class="family-name">Wetsch</span></a></li>
<li class="vcard"><a class="fn n url" href="http://www.jonathanwold.com/" title="Jonathan Wold" rel="contact external"><span class="given-name">Jonathan</span> <span class="family-name">Wold</span></a></li>
<li class="vcard"><a class="fn n url" href="http://thedesigncanopy.com/" title="The Design Canopy" rel="contact external"><span class="given-name">David</span> <span class="family-name">Yeiser</span></a></li>
</ul>
</li><!-- #extra -->
<li id="license">
<h2>License</h2>
<p>The Sandbox &copy; 2006&ndash;2008 is licensed under the <a href="http://www.gnu.org/licenses/gpl.html" title="GNU General Public License" rel="license"><abbr title="GNU is Not Unix">GNU</abbr> General Public License</a>:</p>
<blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html">
<p>This program is free software; you can redistribute it and/or modify it under the terms of the <abbr title="GNU is Not Unix">GNU</abbr> General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful, but <strong>without any warranty</strong>; without even the implied warranty of <strong>merchantability</strong> or <strong>fitness for a particular purpose</strong>. See the <abbr title="GNU is Not Unix">GNU</abbr> General Public License for more details.</p>
<p>You should have received a copy of the <abbr title="GNU is Not Unix">GNU</abbr> General Public License along with this program; if not, write to the <span class="vcard"><a class="url fn org" href="http://www.fsf.org/" rel="external">Free Software Foundation, Inc</a>, <span class="adr"><span class="street-address">51 Franklin Street, Fifth Floor</span>, <span class="locality">Boston</span>, <span class="region">MA</span> <span class="postal-code">02110-1301</span>, <span class="country-name">USA</span></span></span>.</p>
</blockquote>
</li><!-- #license -->
</ol><!-- #readme .xoxo -->
<div id="footer">
<p>Last updated 19 June 2009</p>
</div><!-- #footer -->
</div><!-- #readme -->
</body>
</html>

BIN
sandbox/screenshot.png Näytä tiedosto

Before After
Width: 300  |  Height: 225  |  Size: 14 KiB

+ 129
- 0
sandbox/search.php Näytä tiedosto

@@ -0,0 +1,129 @@
<?php
/**
* Template Name: Suche
*/

get_header() ?>

<?php
$excluded_types = array('page', 'attachment', 'slide');
$post_type_names = get_post_types(array(
'public' => true,
));
$post_type_names = array_diff_key($post_type_names, array_flip($excluded_types));

$query_types = get_query_var('post_type');
if ( empty($query_types) ) {
$query_types = array();
} else if ( $query_types === 'any' ) {
$query_types = array('post', 'kurs', 'download');
}
?>

<section id="content" class="articles wrapper container">
<?php if ( have_posts() ) { ?>
<header id="post-<?php the_ID() ?>" <?php post_class('section-header'); ?>>
<h1 class="title"><?php printf(__( 'Search Results for:', 'sandbox' )); ?> <strong><?php the_search_query(); ?></strong></h1>
<div class="content">
<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url('/')); ?>">
<label>
<span class="screen-reader-text"><?php echo _x('Search for:', 'label', 'sandbox'); ?></span>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x('Search &hellip;', 'placeholder', 'sandbox'); ?>" value="<?php echo get_search_query(); ?>" name="s" />
</label>
<button type="submit" class="search-submit"><?php echo esc_attr_x( 'Search', 'submit button', 'sandbox'); ?></button>
<?php if ( is_search() && !empty($post_type_names) ) { ?>
<div class="select-types">
<?php foreach ( $post_type_names as $post_type_name ) { ?>
<?php $post_type = get_post_type_object($post_type_name); ?>
<div class="selection selection-<?php echo $post_type_name; ?>">
<input type="checkbox" name="post_type[]" value="<?php echo $post_type_name; ?>" <?php if ( in_array($post_type_name, $query_types) ) { echo 'checked="checked"'; } ?> />
<label><?php echo $post_type->label; ?></label>
</div>
<?php } ?>
</div>
<?php } ?>
</form>
<?php
/*
* @Sidebar Content
*/
get_sidebar('meta'); ?>
</div>
</header><!-- .post -->
<?php while ( have_posts() ) : the_post() ?>

<?php
$customPostsMeta = get_post_custom();
$useCustomMoreText = ( !empty($customPostsMeta["_custom_more_text"]) && strlen($customPostsMeta["_custom_more_text"][0]) > 0 );
$moreText = $useCustomMoreText ? $customPostsMeta["_custom_more_text"][0] : __('Weiterlesen', 'sandbox');
// echo var_dump(!empty($customPostsMeta["_custom_more_text"]));
?>

<article id="post-<?php the_ID() ?>" <?php post_class(); ?>>
<div class="inner clearfix">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>" class="post-thumbnail"><?php the_post_thumbnail('thumbnail-full'); ?></a>
<?php } ?>
<h2 class="title"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
<div class="content">
<?php the_excerpt(); ?>
</div>
</div>
</article><!-- .post -->

<?php endwhile; ?>

<?php if ( is_paged() ) { ?>

<?php if ( function_exists('wp_pagenavi') ) {

wp_pagenavi(); // http://wordpress.org/plugins/wp-pagenavi/

} else {

?>

<nav id="nav-below" class="navigation">
<div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&laquo;</span> Older results', 'sandbox' ) ) ?></div>
<div class="nav-next"><?php previous_posts_link( __( 'Newer results <span class="meta-nav">&raquo;</span>', 'sandbox' ) ) ?></div>
</nav>

<?php } ?>

<?php } ?>

<?php } else { ?>

<article id="content" class="post no-results not-found wrapper container">
<div class="inner clearfix">
<h1 class="title"><?php printf(__( 'Search Results for:', 'sandbox' )); ?> <strong><?php the_search_query(); ?></strong></h1>
<div class="content">
<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url('/')); ?>">
<label>
<span class="screen-reader-text"><?php echo _x('Search for:', 'label', 'sandbox'); ?></span>
<input type="search" class="search-field" placeholder="<?php echo esc_attr_x('Search &hellip;', 'placeholder', 'sandbox'); ?>" value="<?php echo get_search_query(); ?>" name="s" />
</label>
<button type="submit" class="search-submit"><?php echo esc_attr_x( 'Search', 'submit button', 'sandbox'); ?></button>
<?php if ( is_search() && !empty($post_type_names) ) { ?>
<div class="select-types">
<?php foreach ( $post_type_names as $post_type_name ) { ?>
<?php $post_type = get_post_type_object($post_type_name); ?>
<div class="selection selection-<?php echo $post_type_name; ?>">
<input type="checkbox" name="post_type[]" value="<?php echo $post_type_name; ?>" <?php if ( in_array($post_type_name, $query_types) ) { echo 'checked="checked"'; } ?> />
<label><?php echo $post_type->label; ?></label>
</div>
<?php } ?>
</div>
<?php } ?>
</form>
<h2><?php printf(__( 'Not Found', 'sandbox' )); ?></h2>
<p><?php printf(__('Apologies, but we were unable to find what you were looking for. Perhaps searching will help.', 'sandbox')); ?></p>
<p><a href="<?php echo esc_url( home_url() ); ?>"><?php printf(__('Go to the homepage', 'sandbox')); // 'zur Startseite gehen' ?></a></p>
</div>
</div>
</article><!-- .post -->

<?php } ?>
</section>

<?php get_footer() ?>

+ 15
- 0
sandbox/searchform.php Näytä tiedosto

@@ -0,0 +1,15 @@
<?php
/**
* Template: search form
* =====================
* Displays the search form
* be able to filter by post type
*/
?>
<form role="search" method="get" class="search-form" action="<?php echo esc_url(home_url('/')); ?>">
<label for="search-input" title="<?php echo __('Seite durchsuchen', 'sandbox'); ?>"><?php echo __('Suche', 'sandbox'); ?></label>
<div class="inner">
<input type="search" id="search-input" class="search-field" placeholder="<?php echo esc_attr(__('Suchbegriff eingeben', 'sandbox')), esc_attr(' &hellip;'); ?>" value="<?php echo get_search_query(); ?>" name="s" />
<button type="submit" class="search-submit"><span class="hide-block"><?php echo esc_attr_x( 'Search', 'submit button', 'sandbox'); ?></span></button>
</div>
</form>

+ 7
- 0
sandbox/sidebar-content-after.php Näytä tiedosto

@@ -0,0 +1,7 @@
<?php if ( is_active_sidebar( 'content-after' ) ) : ?>
<aside id="conten-after" class="sidebar region content-after">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('content-after') ) : // begin secondary sidebar widgets ?> <?php endif; // end primary sidebar widgets ?>
</div>
</aside>
<?php endif; ?>

+ 8
- 0
sandbox/sidebar-content-before.php Näytä tiedosto

@@ -0,0 +1,8 @@
<?php if ( is_active_sidebar( 'content-before' ) ) : ?>
<aside id="content-before" class="sidebar content-before region">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('content-before') ) : // begin secondary sidebar widgets ?>
<?php endif; // end primary sidebar widgets ?>
</div>
</aside>
<?php endif; ?>

+ 8
- 0
sandbox/sidebar-content-footer.php Näytä tiedosto

@@ -0,0 +1,8 @@
<?php if ( is_active_sidebar( 'content-footer' ) ) : ?>
<aside id="content-footer" class="region content-footer">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('content-footer') ) : // begin content-footer sidebar widgets ?>
<?php endif; // end content-footer widgets ?>
</div>
</aside>
<?php endif; ?>

+ 7
- 0
sandbox/sidebar-footer-bar.php Näytä tiedosto

@@ -0,0 +1,7 @@
<?php if ( is_active_sidebar('footer-bar') ) { ?>
<aside id="footer-bar" class="sidebar region footer-bar">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('footer-bar') ) : // begin secondary sidebar widgets ?>
<?php endif; // end footer-menu sidebar widgets ?>
</aside>
<?php } ?>


+ 8
- 0
sandbox/sidebar-footer.php Näytä tiedosto

@@ -0,0 +1,8 @@
<footer id="site-footer" class="site-footer site-container color-scheme-dark">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('footer') ) : // begin secondary sidebar widgets ?>
<div class="content"><p><?php echo date('Y'); ?> Theme <a href="http://sandbox.service4me.org" target="_blank">sandbox</a> by <a href="http://www.service4me.at">service4me</a> and <a href="http://www.netzgestaltung.at" target="_blank">Netzgestaltung</a> under <a href="https://github.com/service4me/sandbox-drupal7-theme/blob/master/LICENSE" target="_blank">GPLv3</a></p></div>
<?php endif; // end primary sidebar widgets ?>
<?php get_sidebar('footer-bar'); ?>
</div>
</footer>

+ 8
- 0
sandbox/sidebar-header.php Näytä tiedosto

@@ -0,0 +1,8 @@
<?php if ( is_active_sidebar( 'header' ) ) { ?>
<aside id="header-bar" class="sidebar region header-bar">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('header') ) : // begin primary sidebar widgets ?>
<?php endif; // end primary sidebar widgets ?>
</div>
</aside>
<?php } ?>

+ 8
- 0
sandbox/sidebar-highlight.php Näytä tiedosto

@@ -0,0 +1,8 @@
<?php if ( is_active_sidebar( 'highlight' ) ) : ?>
<aside id="highlighted" class="region region-highlighted">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('highlight') ) : // begin secondary sidebar widgets ?>
<?php endif; // end primary sidebar widgets ?>
</div>
</aside>
<?php endif; ?>

+ 20
- 0
sandbox/sidebar-menu.php Näytä tiedosto

@@ -0,0 +1,20 @@
<?php if ( is_active_sidebar( 'menu' ) ) { ?>
<section id="site-menu" class="region site-container site-menu">
<div class="inner">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('menu') ) : // begin primary sidebar widgets ?>
<?php endif; // end primary sidebar widgets ?>
</div>
</section>
<?php } else { ?>
<nav id="site-menu" class="region site-container site-menu">
<div class="inner">
<?php wp_nav_menu( array(

'container' => 'ul',
'container_class' => 'menu {menu slug}',
'container_id' => 'menu-{menu slug}'

) ); ?>
</div>
</nav>
<?php } ?>

+ 106
- 0
sandbox/single.php Näytä tiedosto

@@ -0,0 +1,106 @@
<?php get_header() ?>

<?php the_post() ?>

<?php
$site_host = parse_url(get_site_url(), PHP_URL_HOST);
$post_id = get_the_ID();
$post_type = get_post_type($post_id);
$post_meta = sandbox_get_post_meta($post_id);

if ( !isset($post_meta['_hide']) || !filter_var($post_meta['_hide'], FILTER_VALIDATE_BOOLEAN) ) {
$post_taxonomies = sandbox_get_the_taxonomies_and_terms($post_id);

$content = '';
$post_class = 'no-download';
$content_meta_args = array('rtime', 'date', 'author', 'terms');

// Post type "page" fields
$subheadline = isset($post_meta['_subheadline']) ? apply_filters('the_content', $post_meta['_subheadline']) : '';

// Post type "page"
if ( $post_type === 'page' ) {
$content_meta_args = false;
}

// Post type "service"
if ( $post_type === 'service' ) {
$content_meta_args = false;
}

// Post type "product" fields
$produkt_pdf = isset($post_meta['_pdf-download']) ? $post_meta['_pdf-download'] : '';
$produkt_url = isset($post_meta['_product-url']) ? $post_meta['_product-url'] : '';

if ( !empty($produkt_pdf) ) {
$produkt_url = wp_get_attachment_url($produkt_pdf);
}
if ( $post_type === 'produkt' ) {
$content_meta_args = false;
}

// Download button
$download_url = !empty($produkt_pdf) ? $produkt_pdf : '';
$download_target = '';

if ( !empty($download_url) ) {
if ( parse_url($download_url, PHP_URL_HOST) !== $site_host ) {
$download_target = ' target="_blank" rel="noopener"';
}
$post_class = 'has-download';
}

if ( empty($content) ) {
$content = apply_filters('the_content', get_the_content());
}
?>
<article id="content" <?php post_class($post_class) ?>>
<?php
/*
* @Sidebar Content before
*/
get_sidebar('content-before'); ?>
<div class="content inner">
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink() ?>" class="post-thumbnail"><?php the_post_thumbnail('full'); ?></a>
<?php } ?>
<header class="content-header">
<div class="inner">
<h1 class="title"><?php the_title(); ?>
<?php if ( !empty($download_url) ) { ?>
<a class="download" href="<?php echo $download_url; ?>"<?php echo $download_target; ?>><?php echo __('Download', 'sandbox'); ?></a>
<?php } ?></h1>
<?php if ( !empty($subheadline) ) { ?>
<div class="subheadline">
<?php echo $subheadline; ?>
</div>
<?php } ?>
<?php if ( has_excerpt() ) { ?>
<div class="intro">
<?php the_excerpt(); ?>
</div>
<?php } ?>
<?php if ( $meta = sandbox_get_meta_data($content_meta_args) ) { ?>
<ul class="meta">
<?php echo $meta; ?>
</ul>
<?php } ?>
</div>
</header>
<?php if ( !empty($content) ) { ?>
<?php echo $content; ?>
<?php } ?>
</div>
<?php
/*
* @Sidebar Content after
*/
get_sidebar('content-after'); ?>
<?php // If comments are open or we have at least one comment, load up the comment template. ?>
<?php if ( comments_open() || get_comments_number() ) { ?>
<?php comments_template('/comments-alpha_download.php'); ?>
<?php } ?>
</article><!-- .post -->
<?php } ?>

<?php get_footer() ?>

+ 14
- 0
sandbox/style.css Näytä tiedosto

@@ -0,0 +1,14 @@
/*
THEME NAME: sandbox
THEME URI: http://www.netzgestaltung.at
DESCRIPTION: Rich with powerful and dynamic semantic class selectors, sandbox is a canvas for CSS artists
VERSION: 3
Tested up to: 5.4.2
Requires PHP: 7.1
AUTHOR: <a href="http://www.netzgestaltung.at" target="_blank">Netzgestaltung.at</a>
AUTHOR URI:
TEXT DOMAIN: sandbox
LICENSE: GPLv3
LICENSE URI: https://www.gnu.org/licenses/gpl-3.0.en.html
TAGS: microformats, one-column, two-columns, three-columns, left-sidebar, right-sidebar
*/

BIN
sandbox/translations/de_DE.mo Näytä tiedosto


+ 464
- 0
sandbox/translations/de_DE.po Näytä tiedosto

@@ -0,0 +1,464 @@
msgid ""
msgstr ""
"Project-Id-Version: Sandbox\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-07-19 00:00-0500\n"
"PO-Revision-Date: \n"
"Last-Translator: Björn von Prollius <bjoern@prollius.de>\n"
"Language-Team: Scott Allan Wallick <s@scottwallick.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: English\n"
"X-Poedit-Country: UNITED STATES\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: \n"

#: 404.php:7
msgid "Not Found"
msgstr "Nicht gefunden"

#: 404.php:9
msgid "Apologies, but we were unable to find what you were looking for. Perhaps searching will help."
msgstr "Entschuldigung, aber wir konnten nicht finden, wonach Sie gesucht haben. Bitte benutzen Sie die Suche."

#: 404.php:14
#: functions.php:362
#: search.php:56
#: sidebar.php:39
msgid "Find"
msgstr "Suchen"

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr "Tages-Archiv: <span>%s</span>"

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr "Monats-Archiv: <span>%s</span>"

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr "Jahres-Archiv: <span>%s</span>"

#: archive.php:15
msgid "Blog Archives"
msgstr "Blog-Archiv"

#: archive.php:21
#: archive.php:48
#: author.php:12
#: author.php:39
#: category.php:11
#: category.php:40
#: index.php:7
#: index.php:37
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr "<span class=\"meta-nav\">&laquo;</span> Ältere Beiträge"

#: archive.php:22
#: archive.php:49
#: author.php:13
#: author.php:40
#: category.php:12
#: category.php:41
#: index.php:8
#: index.php:38
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr "Neuere Beiträge <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:28
#: author.php:21
#: category.php:18
#: index.php:14
#: search.php:18
#, php-format
msgid "Permalink to %s"
msgstr "Permalink zu %s"

#: archive.php:29
#: author.php:22
#: category.php:19
#: index.php:15
#: search.php:19
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr "%1$s &#8211; %2$s"

#: archive.php:31
#: author.php:24
#: category.php:21
#: index.php:17
#: search.php:21
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr "Weiterlesen <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:35
#: category.php:25
#: index.php:22
#: search.php:27
#, php-format
msgid "By %s"
msgstr "Geschrieben von %s"

#: archive.php:35
#: attachment.php:20
#: category.php:25
#: image.php:21
#: index.php:22
#: search.php:27
#, php-format
msgid "View all posts by %s"
msgstr "Alle Beiträge von %s ansehen"

#: archive.php:37
#: author.php:28
#: index.php:24
#: search.php:29
#, php-format
msgid "Posted in %s"
msgstr "Veröffentlicht in %s"

#: archive.php:39
#: author.php:30
#: category.php:31
#: index.php:26
#: search.php:31
msgid "<span class=\"tag-links\">Tagged "
msgstr "<span class=\"tag-links\">Getaggt als "

#: archive.php:40
#: archives.php:32
#: attachment.php:38
#: author.php:31
#: category.php:32
#: comments.php:40
#: comments.php:66
#: image.php:39
#: index.php:27
#: links.php:22
#: page.php:15
#: search.php:32
msgid "Edit"
msgstr "Bearbeiten"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (0)"
msgstr "Kommentare (0)"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (1)"
msgstr "Kommentare (1)"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (%)"
msgstr "Kommentare (%)"

#: archives.php:20
msgid "Archives by Category"
msgstr "Kategorie-Archiv"

#: archives.php:26
msgid "Archives by Month"
msgstr "Monats-Archiv"

#: attachment.php:8
#: image.php:8
#, php-format
msgid "Return to %s"
msgstr "Zurück zu %s"

#: attachment.php:19
#: image.php:20
#, php-format
msgid "Posted by %1$s on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>. Bookmark the <a href=\"%6$s\" title=\"Permalink to %7$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%8$s\" title=\"Comments RSS to %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Veröffentlicht von %1$s am <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s um %5$s</abbr>. Benutzen Sie den <a href=\"%6$s\" title=\"Permalink zu %7$s\" rel=\"bookmark\">Permalink</a> als Lesezeichen. Verfolgen Sie die Kommentare mit dem <a href=\"%8$s\" title=\"RSS für Kommentare zu %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-Feed für diesen Beitrag</a>."

#: attachment.php:30
#: image.php:31
#, php-format
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "<a class=\"comment-link\" href=\"#respond\" title=\"Einen Kommentar schreiben\">Schreiben Sie einen Kommentar</a> oder senden Sie einen Trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback-URL für Ihren Beitrag\" rel=\"trackback\">Trackback-URL</a>."

#: attachment.php:32
#: image.php:33
#, php-format
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "Kommentare sind deaktiviert, aber Sie können einen Trackback senden: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback-URL für Ihren Beitrag\" rel=\"trackback\">Trackback-URL</a>."

#: attachment.php:34
#: image.php:35
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr "Trackbacks sind deaktiviert, aber Sie können <a class=\"comment-link\" href=\"#respond\" title=\"Kommentar veröffentlichen\">einen Kommentar schreiben</a>."

#: attachment.php:36
#: image.php:37
msgid "Both comments and trackbacks are currently closed."
msgstr "Kommentare und Trackbacks sind zur Zeit deaktiviert."

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr "Autoren-Archiv: <span class=\"vcard\">%s</span>"

#: category.php:6
msgid "Category Archives:"
msgstr "Kategorie-Archiv:"

#: category.php:28
#, php-format
msgid "Also posted in %s"
msgstr "Auch in %s veröffentlicht"

#: comments.php:10
msgid "This post is protected. Enter the password to view any comments."
msgstr "Dieser Beitrag ist geschützt. Geben Sie das Passwort ein, um Kommentare zu sehen."

#: comments.php:29
#, php-format
msgid "<span>%d</span> Comments"
msgstr "<span>%d</span> Kommentare"

#: comments.php:29
msgid "<span>One</span> Comment"
msgstr "<span>Ein</span> Kommentar"

#: comments.php:36
#, php-format
msgid "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink to this comment\">Permalink</a>"
msgstr "Veröffentlicht %1$s um %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink zu diesem Kommentar\">Permalink</a>"

#: comments.php:41
msgid "\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n"
msgstr "\t\t\t\t\t<span class='unapproved'>Ihr Kommentar muss noch genehmigt werden.</span>\n"

#: comments.php:55
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr "<span>%d</span> Trackbacks"

#: comments.php:55
msgid "<span>One</span> Trackback"
msgstr "<span>Ein</span> Trackback"

#: comments.php:62
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr "Von %1$s am %2$s um %3$s"

#: comments.php:67
msgid "\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting moderation.</span>\\n"
msgstr "\\t\\t\\t\\t\\t<span class=\"unapproved\">Ihr Trackback muss noch genehmigt werden.</span>\\n"

#: comments.php:82
msgid "Post a Comment"
msgstr "Schreiben Sie einen Kommentar"

#: comments.php:85
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr "Sie müssen sich <a href=\"%s\" title=\"Log in\">einloggen</a> um einen Kommentar schreiben zu können."

#: comments.php:93
#, php-format
msgid "<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log out of this account\">Log out?</a></span>"
msgstr "<span class=\"loggedin\">Eingeloggt als <a href=\"%1$s\" title=\"Eingeloggt als %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Von diesem Benutzerkonto ausloggen\">Ausloggen?</a></span>"

#: comments.php:100
msgid "Your email is <em>never</em> shared."
msgstr "Ihre E-Mail-Adresse wird <em>niemals</em> weitergegeben."

#: comments.php:100
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr "Pflichtfelder sind mit einem <span class=\"required\">*</span> markiert"

#: comments.php:102
msgid "Name"
msgstr "Name"

#: comments.php:102
#: comments.php:105
msgid "<span class=\"required\">*</span>"
msgstr "<span class=\"required\">*</span>"

#: comments.php:105
msgid "Email"
msgstr "E-Mail"

#: comments.php:108
msgid "Website"
msgstr "Website"

#: comments.php:113
msgid "Comment"
msgstr "Kommentar"

#: comments.php:116
msgid "Post Comment"
msgstr "Kommentar schreiben"

#: footer.php:3
msgid "WordPress"
msgstr "WordPress"

#: footer.php:5
msgid "Sandbox theme for WordPress"
msgstr "Sandbox Theme für WordPress"

#: footer.php:5
msgid "Sandbox"
msgstr "Sandbox"

#: functions.php:361
#: functions.php:469
#: functions.php:471
#: sidebar.php:35
msgid "Search"
msgstr "Suche"

#: functions.php:390
#: functions.php:443
msgid "Title:"
msgstr "Titel:"

#: functions.php:391
msgid "Button Text:"
msgstr "Schaltflächentext:"

#: functions.php:400
#: functions.php:478
#: functions.php:480
#: sidebar.php:55
msgid "Meta"
msgstr "Meta"

#: functions.php:419
#: functions.php:487
#: functions.php:488
msgid "RSS Links"
msgstr "RSS-Links"

#: functions.php:424
msgid "Posts RSS feed"
msgstr "RSS-Feed für Beiträge"

#: functions.php:424
#: sidebar.php:49
msgid "All posts"
msgstr "Alle Beiträge"

#: functions.php:425
msgid "Comments RSS feed"
msgstr "RSS-Feed für Kommentare"

#: functions.php:425
#: sidebar.php:50
msgid "All comments"
msgstr "Alle Kommentare"

#: functions.php:467
msgid "A search form for your blog (Sandbox)"
msgstr "Ein Suchfeld für Ihr Blog (Sandbox)"

#: functions.php:476
msgid "Log in/out and administration links (Sandbox)"
msgstr "Links für Login/Logout und Adminbereich (Sandbox)"

#: functions.php:485
msgid "RSS links for both posts and comments (Sandbox)"
msgstr "RSS-Link für Beiträge und Kommentare (Sandbox)"

#: header.php:8
#: sidebar.php:49
#, php-format
msgid "%s latest posts"
msgstr "%s letzten Beiträge"

#: header.php:9
#: sidebar.php:50
#, php-format
msgid "%s latest comments"
msgstr "%s letzten Kommentare"

#: header.php:23
msgid "Skip to content"
msgstr "Zum Inhalt"

#: index.php:19
#: page.php:13
msgid "Pages:"
msgstr "Seiten:"

#: search.php:8
msgid "Search Results for:"
msgstr "Suchergebnis für:"

#: search.php:11
#: search.php:42
msgid "<span class=\"meta-nav\">&laquo;</span> Older results"
msgstr "<span class=\"meta-nav\">&laquo;</span> Ältere Suchergebnisse"

#: search.php:12
#: search.php:43
msgid "Newer results <span class=\"meta-nav\">&raquo;</span>"
msgstr "Neuere Suchergebnisse <span class=\"meta-nav\">&raquo;</span>"

#: search.php:49
msgid "Nothing Found"
msgstr "Nichts gefunden"

#: search.php:51
msgid "Sorry, but nothing matched your search criteria. Please try again with some different keywords."
msgstr "Entschuldigung, aber Ihre Suche brachte keine Treffer. Bitte versuchen Sie es mit anderen Suchbegriffen."

#: sidebar.php:6
msgid "Pages"
msgstr "Seiten"

#: sidebar.php:13
msgid "Categories"
msgstr "Kategorien"

#: sidebar.php:21
msgid "Archives"
msgstr "Archive"

#: sidebar.php:47
msgid "RSS Feeds"
msgstr "RSS Feeds"

#: single.php:21
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Dieser Beitrag wurde geschrieben von %1$s, veröffentlicht am <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s um %5$s</abbr>, abgelegt unter %6$s%7$s. Benutzen Sie den <a href=\"%8$s\" title=\"Permalink für %9$s\" rel=\"bookmark\">Permalink</a> als Lesezeichen. Verfolgen Sie die Kommentare mit dem <a href=\"%10$s\" title=\"Kommentar-Feed für %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-Feed für diesen Beitrag</a>."

#: single.php:28
msgid " and tagged "
msgstr "und getaggt"

#: tag.php:6
msgid "Tag Archives:"
msgstr "Tag-Archiv:"

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr "Auch als %s getaggt"


BIN
sandbox/translations/de_DE_informal.mo Näytä tiedosto


+ 464
- 0
sandbox/translations/de_DE_informal.po Näytä tiedosto

@@ -0,0 +1,464 @@
msgid ""
msgstr ""
"Project-Id-Version: Sandbox\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-07-19 00:00-0500\n"
"PO-Revision-Date: \n"
"Last-Translator: Björn von Prollius <bjoern@prollius.de>\n"
"Language-Team: Scott Allan Wallick <s@scottwallick.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: English\n"
"X-Poedit-Country: UNITED STATES\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: \n"

#: 404.php:7
msgid "Not Found"
msgstr "Nicht gefunden"

#: 404.php:9
msgid "Apologies, but we were unable to find what you were looking for. Perhaps searching will help."
msgstr "Entschuldigung, aber wir konnten nicht finden, wonach Du gesucht hast. Bitte benutze die Suche."

#: 404.php:14
#: functions.php:362
#: search.php:56
#: sidebar.php:39
msgid "Find"
msgstr "Suchen"

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr "Tages-Archiv: <span>%s</span>"

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr "Monats-Archiv: <span>%s</span>"

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr "Jahres-Archiv: <span>%s</span>"

#: archive.php:15
msgid "Blog Archives"
msgstr "Blog-Archiv"

#: archive.php:21
#: archive.php:48
#: author.php:12
#: author.php:39
#: category.php:11
#: category.php:40
#: index.php:7
#: index.php:37
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr "<span class=\"meta-nav\">&laquo;</span> Ältere Beiträge"

#: archive.php:22
#: archive.php:49
#: author.php:13
#: author.php:40
#: category.php:12
#: category.php:41
#: index.php:8
#: index.php:38
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr "Neuere Beiträge <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:28
#: author.php:21
#: category.php:18
#: index.php:14
#: search.php:18
#, php-format
msgid "Permalink to %s"
msgstr "Permalink zu %s"

#: archive.php:29
#: author.php:22
#: category.php:19
#: index.php:15
#: search.php:19
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr "%1$s &#8211; %2$s"

#: archive.php:31
#: author.php:24
#: category.php:21
#: index.php:17
#: search.php:21
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr "Weiterlesen <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:35
#: category.php:25
#: index.php:22
#: search.php:27
#, php-format
msgid "By %s"
msgstr "Geschrieben von %s"

#: archive.php:35
#: attachment.php:20
#: category.php:25
#: image.php:21
#: index.php:22
#: search.php:27
#, php-format
msgid "View all posts by %s"
msgstr "Alle Beiträge von %s ansehen"

#: archive.php:37
#: author.php:28
#: index.php:24
#: search.php:29
#, php-format
msgid "Posted in %s"
msgstr "Veröffentlicht in %s"

#: archive.php:39
#: author.php:30
#: category.php:31
#: index.php:26
#: search.php:31
msgid "<span class=\"tag-links\">Tagged "
msgstr "<span class=\"tag-links\">Getaggt als "

#: archive.php:40
#: archives.php:32
#: attachment.php:38
#: author.php:31
#: category.php:32
#: comments.php:40
#: comments.php:66
#: image.php:39
#: index.php:27
#: links.php:22
#: page.php:15
#: search.php:32
msgid "Edit"
msgstr "Bearbeiten"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (0)"
msgstr "Kommentare (0)"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (1)"
msgstr "Kommentare (1)"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (%)"
msgstr "Kommentare (%)"

#: archives.php:20
msgid "Archives by Category"
msgstr "Kategorie-Archiv"

#: archives.php:26
msgid "Archives by Month"
msgstr "Monats-Archiv"

#: attachment.php:8
#: image.php:8
#, php-format
msgid "Return to %s"
msgstr "Zurück zu %s"

#: attachment.php:19
#: image.php:20
#, php-format
msgid "Posted by %1$s on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>. Bookmark the <a href=\"%6$s\" title=\"Permalink to %7$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%8$s\" title=\"Comments RSS to %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Veröffentlicht von %1$s am <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s um %5$s</abbr>. Benutze den <a href=\"%6$s\" title=\"Permalink zu %7$s\" rel=\"bookmark\">Permalink</a> als Lesezeichen. Verfolge die Kommentare mit dem <a href=\"%8$s\" title=\"RSS für Kommentare zu %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-Feed für diesen Beitrag</a>."

#: attachment.php:30
#: image.php:31
#, php-format
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "<a class=\"comment-link\" href=\"#respond\" title=\"Einen Kommentar schreiben\">Schreibe einen Kommentar</a> oder sende einen Trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback-URL für Deinen Beitrag\" rel=\"trackback\">Trackback-URL</a>."

#: attachment.php:32
#: image.php:33
#, php-format
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "Kommentare sind deaktiviert, aber Du kannst einen Trackback senden: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback-URL für Ihren Beitrag\" rel=\"trackback\">Trackback-URL</a>."

#: attachment.php:34
#: image.php:35
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr "Trackbacks sind deaktiviert, aber Du kannst <a class=\"comment-link\" href=\"#respond\" title=\"Kommentar schreiben\">einen Kommentar schreiben</a>."

#: attachment.php:36
#: image.php:37
msgid "Both comments and trackbacks are currently closed."
msgstr "Kommentare und Trackbacks sind zur Zeit deaktiviert."

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr "Autoren-Archiv: <span class=\"vcard\">%s</span>"

#: category.php:6
msgid "Category Archives:"
msgstr "Kategorie-Archiv:"

#: category.php:28
#, php-format
msgid "Also posted in %s"
msgstr "Auch in %s veröffentlicht"

#: comments.php:10
msgid "This post is protected. Enter the password to view any comments."
msgstr "Dieser Beitrag ist geschützt. Gib das Passwort ein, um Kommentare zu sehen."

#: comments.php:29
#, php-format
msgid "<span>%d</span> Comments"
msgstr "<span>%d</span> Kommentare"

#: comments.php:29
msgid "<span>One</span> Comment"
msgstr "<span>Ein</span> Kommentar"

#: comments.php:36
#, php-format
msgid "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink to this comment\">Permalink</a>"
msgstr "Veröffentlicht %1$s um %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink zu diesem Kommentar\">Permalink</a>"

#: comments.php:41
msgid "\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n"
msgstr "\t\t\t\t\t<span class='unapproved'>Dein Kommentar muss noch genehmigt werden.</span>\n"

#: comments.php:55
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr "<span>%d</span> Trackbacks"

#: comments.php:55
msgid "<span>One</span> Trackback"
msgstr "<span>Ein</span> Trackback"

#: comments.php:62
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr "Von %1$s am %2$s um %3$s"

#: comments.php:67
msgid "\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting moderation.</span>\\n"
msgstr "\\t\\t\\t\\t\\t<span class=\"unapproved\">Dein Trackback muss noch genehmigt werden.</span>\\n"

#: comments.php:82
msgid "Post a Comment"
msgstr "Schreibe einen Kommentar"

#: comments.php:85
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr "Du musst dich <a href=\"%s\" title=\"Log in\">einloggen</a> um einen Kommentar schreiben zu können."

#: comments.php:93
#, php-format
msgid "<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log out of this account\">Log out?</a></span>"
msgstr "<span class=\"loggedin\">Eingeloggt als <a href=\"%1$s\" title=\"Eingeloggt als %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Von diesem Benutzerkonto ausloggen\">Ausloggen?</a></span>"

#: comments.php:100
msgid "Your email is <em>never</em> shared."
msgstr "Deine E-Mail-Adresse wird <em>niemals</em> weitergegeben."

#: comments.php:100
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr "Pflichtfelder sind mit einem <span class=\"required\">*</span> markiert"

#: comments.php:102
msgid "Name"
msgstr "Name"

#: comments.php:102
#: comments.php:105
msgid "<span class=\"required\">*</span>"
msgstr "<span class=\"required\">*</span>"

#: comments.php:105
msgid "Email"
msgstr "E-Mail"

#: comments.php:108
msgid "Website"
msgstr "Website"

#: comments.php:113
msgid "Comment"
msgstr "Kommentar"

#: comments.php:116
msgid "Post Comment"
msgstr "Kommentar schreiben"

#: footer.php:3
msgid "WordPress"
msgstr "WordPress"

#: footer.php:5
msgid "Sandbox theme for WordPress"
msgstr "Sandbox Theme für WordPress"

#: footer.php:5
msgid "Sandbox"
msgstr "Sandbox"

#: functions.php:361
#: functions.php:469
#: functions.php:471
#: sidebar.php:35
msgid "Search"
msgstr "Suche"

#: functions.php:390
#: functions.php:443
msgid "Title:"
msgstr "Titel:"

#: functions.php:391
msgid "Button Text:"
msgstr "Schaltflächentext:"

#: functions.php:400
#: functions.php:478
#: functions.php:480
#: sidebar.php:55
msgid "Meta"
msgstr "Meta"

#: functions.php:419
#: functions.php:487
#: functions.php:488
msgid "RSS Links"
msgstr "RSS-Links"

#: functions.php:424
msgid "Posts RSS feed"
msgstr "RSS-Feed für Beiträge"

#: functions.php:424
#: sidebar.php:49
msgid "All posts"
msgstr "Alle Beiträge"

#: functions.php:425
msgid "Comments RSS feed"
msgstr "RSS-Feed für Kommentare"

#: functions.php:425
#: sidebar.php:50
msgid "All comments"
msgstr "Alle Kommentare"

#: functions.php:467
msgid "A search form for your blog (Sandbox)"
msgstr "Ein Suchfeld für Ihr Blog (Sandbox)"

#: functions.php:476
msgid "Log in/out and administration links (Sandbox)"
msgstr "Links für Login/Logout und Adminbereich (Sandbox)"

#: functions.php:485
msgid "RSS links for both posts and comments (Sandbox)"
msgstr "RSS-Link für Beiträge und Kommentare (Sandbox)"

#: header.php:8
#: sidebar.php:49
#, php-format
msgid "%s latest posts"
msgstr "%s letzten Beiträge"

#: header.php:9
#: sidebar.php:50
#, php-format
msgid "%s latest comments"
msgstr "%s letzten Kommentare"

#: header.php:23
msgid "Skip to content"
msgstr "Zum Inhalt"

#: index.php:19
#: page.php:13
msgid "Pages:"
msgstr "Seiten:"

#: search.php:8
msgid "Search Results for:"
msgstr "Suchergebnis für:"

#: search.php:11
#: search.php:42
msgid "<span class=\"meta-nav\">&laquo;</span> Older results"
msgstr "<span class=\"meta-nav\">&laquo;</span> Ältere Suchergebnisse"

#: search.php:12
#: search.php:43
msgid "Newer results <span class=\"meta-nav\">&raquo;</span>"
msgstr "Neuere Suchergebnisse <span class=\"meta-nav\">&raquo;</span>"

#: search.php:49
msgid "Nothing Found"
msgstr "Nichts gefunden"

#: search.php:51
msgid "Sorry, but nothing matched your search criteria. Please try again with some different keywords."
msgstr "Entschuldigung, aber Deine Suche brachte keine Treffer. Bitte versuche es mit anderen Suchbegriffen."

#: sidebar.php:6
msgid "Pages"
msgstr "Seiten"

#: sidebar.php:13
msgid "Categories"
msgstr "Kategorien"

#: sidebar.php:21
msgid "Archives"
msgstr "Archive"

#: sidebar.php:47
msgid "RSS Feeds"
msgstr "RSS Feeds"

#: single.php:21
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Dieser Beitrag wurde geschrieben von %1$s, veröffentlicht am <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s um %5$s</abbr>, abgelegt unter %6$s%7$s. Benutze den <a href=\"%8$s\" title=\"Permalink für %9$s\" rel=\"bookmark\">Permalink</a> als Lesezeichen. Verfolge die Kommentare mit dem <a href=\"%10$s\" title=\"Kommentar-Feed für %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-Feed für diesen Beitrag</a>."

#: single.php:28
msgid " and tagged "
msgstr "und getaggt"

#: tag.php:6
msgid "Tag Archives:"
msgstr "Tag-Archiv:"

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr "Auch als %s getaggt"


BIN
sandbox/translations/default.mo Näytä tiedosto


+ 13
- 0
sandbox/translations/default.po Näytä tiedosto

@@ -0,0 +1,13 @@
msgid ""
msgstr ""
"Project-Id-Version: translate\n"
"POT-Creation-Date: 2013-11-24 23:05+0100\n"
"PO-Revision-Date: 2013-11-24 23:06+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-KeywordsList: _;gettext;gettext_noop\n"
"X-Poedit-Basepath: .\n"

BIN
sandbox/translations/he_IL.mo Näytä tiedosto


+ 429
- 0
sandbox/translations/he_IL.po Näytä tiedosto

@@ -0,0 +1,429 @@
# Amir Yalon <translations@amiryal.fastmail.fm>, 2008. http://www.yxejamir.net/
# translation of sandbox.pot to Hebrew
msgid ""
msgstr ""
"Project-Id-Version: Sandbox 1.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-06-28 01:04-0500\n"
"PO-Revision-Date: 2008-07-01 19:08+0300\n"
"Last-Translator: Amir Yalon <translations@amiryal.fastmail.fm>\n"
"Language-Team: Hebrew\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"

#: 404.php:7
msgid "Not Found"
msgstr "לא נמצא"

#: 404.php:9
msgid ""
"Apologies, but we were unable to find what you were looking for. Perhaps "
"searching will help."
msgstr "מצטערים, אבל לא הצלחנו למצוא מה שביקשת. אולי חיפוש יעזור."

#: 404.php:14 functions.php:362 search.php:56 sidebar.php:39
msgid "Find"
msgstr "מצא"

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr "ארכיון יומי: <span>%s</span>"

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr "ארכיון חודשי: <span>%s</span>"

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr "ארכיון שנתי: <span>%s</span>"

#: archive.php:15
msgid "Blog Archives"
msgstr "ארכיון הבלוג"

#: archive.php:21 archive.php:48 author.php:12 author.php:39 category.php:11
#: category.php:40 index.php:7 index.php:37
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr "<span class=\"meta-nav\">&laquo;</span> פוסטים ישנים יותר"

#: archive.php:22 archive.php:49 author.php:13 author.php:40 category.php:12
#: category.php:41 index.php:8 index.php:38
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr "פוסטים חדשים יותר <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:28 author.php:21 category.php:18 index.php:14 search.php:18
#, php-format
msgid "Permalink to %s"
msgstr "קישור קבוע אל %s"

#: archive.php:29 author.php:22 category.php:19 index.php:15 search.php:19
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr "%1$s &#8211; %2$s"

#: archive.php:31 author.php:24 category.php:21 index.php:17 search.php:21
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr "קרא עוד <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:35 category.php:25 index.php:22 search.php:27
#, php-format
msgid "By %s"
msgstr "מאת %s"

#: archive.php:35 attachment.php:20 category.php:25 image.php:21 index.php:22
#: search.php:27
#, php-format
msgid "View all posts by %s"
msgstr "הצג את כל הפוסטים מאת %s"

#: archive.php:37 author.php:28 index.php:24 search.php:29
#, php-format
msgid "Posted in %s"
msgstr "פורסם ב%s"

#: archive.php:39 author.php:30 category.php:31 index.php:26 search.php:31
msgid "<span class=\"tag-links\">Tagged "
msgstr "<span class=\"tag-links\">תגים "

#: archive.php:40 archives.php:32 attachment.php:38 author.php:31
#: category.php:32 comments.php:40 comments.php:66 image.php:39 index.php:27
#: links.php:22 page.php:15 search.php:32
msgid "Edit"
msgstr "ערוך"

#: archive.php:41 author.php:32 category.php:33 index.php:28 search.php:33
msgid "Comments (0)"
msgstr "תגובות (0)"

#: archive.php:41 author.php:32 category.php:33 index.php:28 search.php:33
msgid "Comments (1)"
msgstr "תגובות (1)"

#: archive.php:41 author.php:32 category.php:33 index.php:28 search.php:33
msgid "Comments (%)"
msgstr "תגובות (%)"

#: archives.php:20
msgid "Archives by Category"
msgstr "ארכיונים לפי קטגוריה"

#: archives.php:26
msgid "Archives by Month"
msgstr "ארכיונים לפי חודש"

#: attachment.php:8 image.php:8
#, php-format
msgid "Return to %s"
msgstr "חזור אל %s"

#: attachment.php:19 image.php:20
#, php-format
msgid ""
"Posted by %1$s on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5"
"$s</abbr>. Bookmark the <a href=\"%6$s\" title=\"Permalink to %7$s\" rel="
"\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%8$s"
"\" title=\"Comments RSS to %7$s\" rel=\"alternate\" type=\"application/rss"
"+xml\">RSS feed for this post</a>."
msgstr ""
"פורסם מאת %1$s ב<abbr class=\"published\" title=\"%2$sT%3$s\">%4"
"$s בשעה %5$s</abbr>. שמור <a href=\"%6$s\" title=\"קישור קבוע "
"אל %7$s\" rel=\"bookmark\">קישור קבוע</a>. עקוב אחר תגובות כאן בעזרת <a href="
"\"%8$s\" title=\"רסס תגובות על %7$s\" rel=\"alternate\" type=\"application/"
"rss+xml\">רסס לפוסט זה</a>."

#: attachment.php:30 image.php:31
#, php-format
msgid ""
"<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a "
"comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" "
"title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr ""
"<a class=\"comment-link\" href=\"#respond\" title=\"פרסם תגובה\">פרסם תגובה</"
"a> או השאר עקבות: <a class=\"trackback-link\" href=\"%s\" title=\"נתיב "
"להשארת עקבות לפוסט שלך\" rel=\"trackback\">Trackback URL</a>."

#: attachment.php:32 image.php:33
#, php-format
msgid ""
"Comments are closed, but you can leave a trackback: <a class=\"trackback-link"
"\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback"
"\">Trackback URL</a>."
msgstr ""
"סגור לתגובות, אבל ניתן להשאיר עקבות: <a class=\"trackback-link\" href=\"%s\" "
"title=\"נתיב להשארת עקבות לפוסט שלך\" rel=\"trackback\">Trackback URL</a>."

#: attachment.php:34 image.php:35
msgid ""
"Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond"
"\" title=\"Post a comment\">post a comment</a>."
msgstr ""
"סגור להשארת עקבות, אבל ניתן <a class/\"comment-link\" href=\"#respond\" "
"title=\"פרסם תגובה\">לפרסם תגובה</a>."

#: attachment.php:36 image.php:37
msgid "Both comments and trackbacks are currently closed."
msgstr "סגור לפרסום תגובות והשארת עקבות."

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr "ארכיון מחבר: <span class=\"vcard\">%s</span>"

#: category.php:6
msgid "Category Archives:"
msgstr "ארכיון קטגוריה:"

#: category.php:28
#, php-format
msgid "Also posted in %s"
msgstr "פורסם גם ב%s"

#: comments.php:10
msgid "This post is protected. Enter the password to view any comments."
msgstr "פוסט זה מוגן. הכנס את הסיסמה כדי לראות תגובות."

#: comments.php:29
#, php-format
msgid "<span>%d</span> Comments"
msgstr "<span>%d</span> תגובות"

#: comments.php:29
msgid "<span>One</span> Comment"
msgstr "תגובה <span>אחת</span>"

#: comments.php:36
#, php-format
msgid ""
"Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title="
"\"Permalink to this comment\">Permalink</a>"
msgstr ""
"פורסמה ביום %1$s בשעה %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s"
"\" title=\"קישור קבוע לתגובה זו\">קישור קבוע</a>"

#: comments.php:41
msgid ""
"\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</"
"span>\n"
msgstr "\t\t\t\t\t<span class='unapproved'>תגובתך ממתינה לאישור.</span>\n"

#: comments.php:55
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr "<span>%d</span> עקבות"

#: comments.php:55
msgid "<span>One</span> Trackback"
msgstr "עקיבה <span>אחת</span>"

#: comments.php:62
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr "מאת %1$s ביום %2$s בשעה %3$s"

#: comments.php:67
msgid ""
"\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting "
"moderation.</span>\\n"
msgstr "\\t\\t\\t\\t\\t<span class=\"unapproved\">עקיבתך ממתינה לאישור.</span>\\n"

#: comments.php:82
msgid "Post a Comment"
msgstr "פרסם תגובה"

#: comments.php:85
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr "עליך להיות <a href=\"%s\" title=\"התחבר\">מחובר</a> כדי לפרסם תגובה."

#: comments.php:93
#, php-format
msgid ""
"<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %"
"2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log "
"out of this account\">Log out?</a></span>"
msgstr ""
"<span class=\"loggedin\">מחובר בתור <a href=\"%1$s\" title=\"מחובר בתור %2$s"
"\">%2$s</a></span>. <span class=\"logout\"><a href=\"%3$s\" title=\"צא "
"מחשבון זה\">לצאת?</a></span>"

#: comments.php:100
msgid "Your email is <em>never</em> shared."
msgstr "האימייל שלך <em>לעולם</em> לא ישותף."

#: comments.php:100
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr "שדות נדרשים מסומנים <span class=\"required\">*</span>"

#: comments.php:102
msgid "Name"
msgstr "שם"

#: comments.php:102 comments.php:105
msgid "<span class=\"required\">*</span>"
msgstr "<span class=\"required\">*</span>"

#: comments.php:105
msgid "Email"
msgstr "אימייל"

#: comments.php:108
msgid "Website"
msgstr "אתר ברשת"

#: comments.php:113
msgid "Comment"
msgstr "תגובה"

#: comments.php:116
msgid "Post Comment"
msgstr "פרסם תגובה"

#: footer.php:3
msgid "WordPress"
msgstr "WordPress"

#: footer.php:5
msgid "Sandbox theme for WordPress"
msgstr "Sandbox theme for WordPress"

#: footer.php:5
msgid "Sandbox"
msgstr "Sandbox"

#: functions.php:361 functions.php:469 functions.php:471 sidebar.php:35
msgid "Search"
msgstr "חיפוש"

#: functions.php:390 functions.php:443
msgid "Title:"
msgstr "כותרת:"

#: functions.php:391
msgid "Button Text:"
msgstr "כיתוב כפתור:"

#: functions.php:400 functions.php:478 functions.php:480 sidebar.php:55
msgid "Meta"
msgstr "מטא"

#: functions.php:419 functions.php:487 functions.php:488
msgid "RSS Links"
msgstr "קישורי רסס"

#: functions.php:424
msgid "Posts RSS feed"
msgstr "רסס פוסטים"

#: functions.php:424 sidebar.php:49
msgid "All posts"
msgstr "כל הפוסטים"

#: functions.php:425
msgid "Comments RSS feed"
msgstr "רסס תגובות"

#: functions.php:425 sidebar.php:50
msgid "All comments"
msgstr "כל התגובות"

#: functions.php:467
msgid "A search form for your blog (Sandbox)"
msgstr "טופס חיפוש לבלוג שלך (Sandbox)"

#: functions.php:476
msgid "Log in/out and administration links (Sandbox)"
msgstr "קישורי כניסה/יציאה וניהול (Sandbox)"

#: functions.php:485
msgid "RSS links for both posts and comments (Sandbox)"
msgstr "קישורי רסס גם לפוסטים וגם לתגובות (Sandbox)"

#: header.php:8 sidebar.php:49
#, php-format
msgid "%s latest posts"
msgstr "%s פוסטים אחרונים"

#: header.php:9 sidebar.php:50
#, php-format
msgid "%s latest comments"
msgstr "%s תגובות אחרונות"

#: header.php:23
msgid "Skip to content"
msgstr "דלג אל התוכן"

#: index.php:19 page.php:13
msgid "Pages:"
msgstr "עמודים:"

#: search.php:8
msgid "Search Results for:"
msgstr "חפש בתוצאות עבור:"

#: search.php:11 search.php:42
msgid "<span class=\"meta-nav\">&laquo;</span> Older results"
msgstr "<span class=\"meta-nav\">&laquo;</span> תוצאות ישנות יותר"

#: search.php:12 search.php:43
msgid "Newer results <span class=\"meta-nav\">&raquo;</span>"
msgstr "תוצאות חדשות יותר <span class=\"meta-nav\">&raquo;</span>"

#: search.php:49
msgid "Nothing Found"
msgstr "לא נמצא דבר"

#: search.php:51
msgid ""
"Sorry, but nothing matched your search criteria. Please try again with some "
"different keywords."
msgstr "מצטערים, אבל דבר לא תאם את שאילתת החיפוש. אנא נסה שוב עם מלות מפתח שונות."

#: sidebar.php:6
msgid "Pages"
msgstr "עמודים"

#: sidebar.php:13
msgid "Categories"
msgstr "קטגוריות"

#: sidebar.php:21
msgid "Archives"
msgstr "ארכיון"

#: sidebar.php:47
msgid "RSS Feeds"
msgstr "רססים"

#: single.php:21
#, php-format
msgid ""
"This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%"
"2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href="
"\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow "
"any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" "
"rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr ""
"ערך זה מאת %1$s פורסם <abbr class=\"published\" title=\"%2$sT%3$s\">ביום %4"
"$s בשעה %5$s</abbr>, תחת %6$s%7$s. שמור <a href=\"%8$s\" title=\"קישור קבוע "
"אל %9$s\" rel=\"bookmark\">קישור קבוע</a>. עקוב אחר תגובות כאן בעזרת <a href="
"\"%10$s\" title=\"רסס תגובות על %9$s\" rel=\"alternate\" type=\"application/"
"rss+xml\">רסס לפוסט זה</a>. "

#: single.php:28
msgid " and tagged "
msgstr " ותגים "

#: tag.php:6
msgid "Tag Archives:"
msgstr "ארכיון תג:"

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr "גם בתגים %s"


BIN
sandbox/translations/it_IT.mo Näytä tiedosto


+ 490
- 0
sandbox/translations/it_IT.po Näytä tiedosto

@@ -0,0 +1,490 @@
# Italian localization of the Sandbox theme for Wordpress
# This file is put in the public domain.
#
msgid ""
msgstr ""
"Project-Id-Version: Sandbox 1.4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-07-19 00:00-0500\n"
"PO-Revision-Date: 2008-07-23 15:27+0100\n"
"Last-Translator: Jan Reister <jan@seul.org>\n"
"Language-Team: Nokao <info@nokao.com>, Jan <jan@seul.org>, Brigitte bwat.it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Italian\n"
"X-Poedit-Country: ITALY\n"
"X-Poedit-SourceCharset: utf-8\n"

#: 404.php:7
msgid "Not Found"
msgstr "Non trovato"

#: 404.php:9
msgid "Apologies, but we were unable to find what you were looking for. Perhaps searching will help."
msgstr "Siamo spiacenti, ma non siamo riusciti a trovare quello che cercavi. Prova a fare una ricerca."

#: 404.php:14
#: functions.php:362
#: search.php:56
#: sidebar.php:39
msgid "Find"
msgstr "Trova"

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr "Archivio per giorni: <span>%s</span>"

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr "Archivio per mese: <span>%s</span>"

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr "Archivio per anno: <span>%s</span>"

#: archive.php:15
msgid "Blog Archives"
msgstr "Archivi"

#: archive.php:21
#: archive.php:48
#: author.php:12
#: author.php:39
#: category.php:11
#: category.php:40
#: index.php:7
#: index.php:37
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr "<span class=\"meta-nav\">&laquo;</span> Articoli più vecchi"

#: archive.php:22
#: archive.php:49
#: author.php:13
#: author.php:40
#: category.php:12
#: category.php:41
#: index.php:8
#: index.php:38
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr "Articoli più recenti <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:28
#: author.php:21
#: category.php:18
#: index.php:14
#: search.php:18
#, php-format
msgid "Permalink to %s"
msgstr "Permalink a %s"

#: archive.php:29
#: author.php:22
#: category.php:19
#: index.php:15
#: search.php:19
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr "%1$s &#8211; %2$s"

#: archive.php:31
#: author.php:24
#: category.php:21
#: index.php:17
#: search.php:21
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr "Leggi il seguito <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:35
#: category.php:25
#: index.php:22
#: search.php:27
#, php-format
msgid "By %s"
msgstr "Di %s"

#: archive.php:35
#: attachment.php:20
#: category.php:25
#: image.php:21
#: index.php:22
#: search.php:27
#, php-format
msgid "View all posts by %s"
msgstr "Leggi tutti gli articoli di %s"

#: archive.php:37
#: author.php:28
#: index.php:24
#: search.php:29
#, php-format
msgid "Posted in %s"
msgstr "Archiviato in %s"

#: archive.php:39
#: author.php:30
#: category.php:31
#: index.php:26
#: search.php:31
msgid "<span class=\"tag-links\">Tagged "
msgstr "<span class=\"tag-links\">Contrassegnato con i tag "

#: archive.php:40
#: archives.php:32
#: attachment.php:38
#: author.php:31
#: category.php:32
#: comments.php:40
#: comments.php:66
#: image.php:39
#: index.php:27
#: links.php:22
#: page.php:15
#: search.php:32
msgid "Edit"
msgstr "Modifica"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (0)"
msgstr "Nessun Commento"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (1)"
msgstr "Commenti (1)"

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (%)"
msgstr "Commenti (%)"

#: archives.php:20
msgid "Archives by Category"
msgstr "Archivi per categoria"

#: archives.php:26
msgid "Archives by Month"
msgstr "Archivi per mese"

#: attachment.php:8
#: image.php:8
#, php-format
msgid "Return to %s"
msgstr "Ritorna a %s"

#: attachment.php:19
#: image.php:20
#, php-format
msgid "Posted by %1$s on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>. Bookmark the <a href=\"%6$s\" title=\"Permalink to %7$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%8$s\" title=\"Comments RSS to %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Questo articolo è stato scritto da %1$s il <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s alle %5$s</abbr>. Salva nei segnalibri il <a href=\"%6$s\" title=\"Permalink per %7$s\" rel=\"bookmark\">permalink</a>. Seguine i commenti qui con il <a href=\"%8$s\" title=\"Feed RSS dei commenti a %7$s\" rel=\"alternate\" type=\"application/rss+xml\"> feed RSS di questo articolo</a>."

#: attachment.php:30
#: image.php:31
#, php-format
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "<a class=\"comment-link\" href=\"#respond\" title=\"Scrivi un commento\">Scrivi un commento</a> o lascia un trackback: <a class=\"trackback-link\" href=\"%s\" title=\"URL per i trackback al post\" rel=\"trackback\">Indirizzo per il trackback</a>."

#: attachment.php:32
#: image.php:33
#, php-format
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "I commenti sono chiusi, ma puoi lasciare un trackback:<a class=\"trackback-link\" href=\"%s\" title=\"URL dei trackback al post\" rel=\"trackback\">Indirizzo per il trackback</a>."

#: attachment.php:34
#: image.php:35
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr "I trackback sono chiusi, ma puoi <a class=\"comment-link\" href=\"#respond\" title=\"Scrivi un commento\">scrivere un commento</a>."

#: attachment.php:36
#: image.php:37
msgid "Both comments and trackbacks are currently closed."
msgstr "Commenti e trackback sono attualmente chiusi."

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr "Archivi per autore: <span class=\"vcard\">%s</span>"

#: category.php:6
msgid "Category Archives:"
msgstr "Archivi delle categorie"

#: category.php:28
#, php-format
msgid "Also posted in %s"
msgstr "Pubblicato anche in %s"

#: comments.php:10
msgid "This post is protected. Enter the password to view any comments."
msgstr "Questo post &egrave; riservato. Per leggere i commenti inserisci la tua password:"

#: comments.php:29
#, php-format
msgid "<span>%d</span> Comments"
msgstr "<span>%d</span> commenti"

#: comments.php:29
msgid "<span>One</span> Comment"
msgstr "<span>Un</span> commento"

#: comments.php:36
#, php-format
msgid "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink to this comment\">Permalink</a>"
msgstr "Pubblicato %1$s alle %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink a questo commento\">Permalink</a>"

#: comments.php:41
msgid "\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n"
msgstr "\t\t\t\t\t<span class='unapproved'>Il tuo commento è attesa di moderazione.</span>\n"

#: comments.php:55
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr "<span>%d</span> trackback"

#: comments.php:55
msgid "<span>One</span> Trackback"
msgstr "<span>Un</span> trackback"

#: comments.php:62
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr "Di %1$s il %2$s alle %3$s"

#: comments.php:67
msgid "\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting moderation.</span>\\n"
msgstr "\\t\\t\\t\\t\\t<span class=\"unapproved\">Il tuo trackback è in attesa di moderazione.</span>\\n"

#: comments.php:82
msgid "Post a Comment"
msgstr "Scrivi un commento"

#: comments.php:85
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr "Devi fare <a href=\"%s\" title=\"Fai login\">login</a> per scrivere un commento."

#: comments.php:93
#, php-format
msgid "<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log out of this account\">Log out?</a></span>"
msgstr "<span class=\"loggedin\">Hai fatto login come <a href=\"%1$s\" title=\"Autenticato come %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Fai log out da questo account\">Fai log out?</a></span>"

#: comments.php:100
msgid "Your email is <em>never</em> shared."
msgstr "La tua e-mail non sarà <em>mai</em> comunicata ad altri."

#: comments.php:100
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr "I campi obbligatori sono contrassegnati con un <span class=\"required\">*</span>"

#: comments.php:102
msgid "Name"
msgstr "Nome"

#: comments.php:102
#: comments.php:105
msgid "<span class=\"required\">*</span>"
msgstr "<span class=\"required\">*</span>"

#: comments.php:105
msgid "Email"
msgstr "Email"

#: comments.php:108
msgid "Website"
msgstr "Sito web"

#: comments.php:113
msgid "Comment"
msgstr "Commenta"

#: comments.php:116
msgid "Post Comment"
msgstr "Scrivi un commento"

#: footer.php:3
msgid "WordPress"
msgstr "WordPress"

#: footer.php:5
msgid "Sandbox theme for WordPress"
msgstr "Tema Sandbox per WordPress"

#: footer.php:5
msgid "Sandbox"
msgstr "Sandbox"

#: functions.php:361
#: functions.php:469
#: functions.php:471
#: sidebar.php:35
msgid "Search"
msgstr "Cerca"

#: functions.php:390
#: functions.php:443
msgid "Title:"
msgstr "Titolo:"

#: functions.php:391
msgid "Button Text:"
msgstr "Pulsante testo:"

#: functions.php:400
#: functions.php:478
#: functions.php:480
#: sidebar.php:55
msgid "Meta"
msgstr "Meta"

#: functions.php:419
#: functions.php:487
#: functions.php:488
msgid "RSS Links"
msgstr "Link ai feed RSS"

#: functions.php:424
msgid "Posts RSS feed"
msgstr "Feed RSS degli articoli"

#: functions.php:424
#: sidebar.php:49
msgid "All posts"
msgstr "Tutti gli articoli"

#: functions.php:425
msgid "Comments RSS feed"
msgstr "Feed RSS dei commenti"

#: functions.php:425
#: sidebar.php:50
msgid "All comments"
msgstr "Tutti i commenti"

#: functions.php:467
msgid "A search form for your blog (Sandbox)"
msgstr "Un modulo di ricerca per il tuo blog (Sandbox)"

#: functions.php:476
msgid "Log in/out and administration links (Sandbox)"
msgstr "Link per fare login, logout e per amministrare il sito (Sandbox)"

#: functions.php:485
msgid "RSS links for both posts and comments (Sandbox)"
msgstr "Feed RSS per articoli e commenti (Sandbox)"

#: header.php:8
#: sidebar.php:49
#, php-format
msgid "%s latest posts"
msgstr "%s articoli recenti"

#: header.php:9
#: sidebar.php:50
#, php-format
msgid "%s latest comments"
msgstr "%s commenti recenti"

#: header.php:23
msgid "Skip to content"
msgstr "Vai al contenuto"

#: index.php:19
#: page.php:13
msgid "Pages:"
msgstr "Pagine:"

#: search.php:8
msgid "Search Results for:"
msgstr "Risultato della ricerca per:"

#: search.php:11
#: search.php:42
#, fuzzy
msgid "<span class=\"meta-nav\">&laquo;</span> Older results"
msgstr "<span class=\"meta-nav\">&laquo;</span> Articoli più vecchi"

#: search.php:12
#: search.php:43
#, fuzzy
msgid "Newer results <span class=\"meta-nav\">&raquo;</span>"
msgstr "Articoli più recenti <span class=\"meta-nav\">&raquo;</span>"

#: search.php:49
msgid "Nothing Found"
msgstr "Non ho trovato niente"

#: search.php:51
msgid "Sorry, but nothing matched your search criteria. Please try again with some different keywords."
msgstr "Mi dispiace, ma non c'è nulla che corrisponda ai tuoi criteri di ricerca. Prova ancora con delle parole diverse."

#: sidebar.php:6
msgid "Pages"
msgstr "Pagine"

#: sidebar.php:13
msgid "Categories"
msgstr "Categorie"

#: sidebar.php:21
msgid "Archives"
msgstr "Archivi"

#: sidebar.php:47
msgid "RSS Feeds"
msgstr "Feed RSS"

#: single.php:21
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Questo articolo è stato scritto da %1$s, e pubblicato il <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s alle %5$s</abbr>, archiviato in %6$s%7$s. Salva nei segnalibri il <a href=\"%8$s\" title=\"Permalink per %9$s\" rel=\"bookmark\">permalink</a>. Seguine i commenti qui con il <a href=\"%10$s\" title=\"Feed RSS dei commenti a %9$s\" rel=\"alternate\" type=\"application/rss+xml\"> feed RSS di questo articolo</a>."

#: single.php:28
msgid " and tagged "
msgstr "e contrassegnato "

#: tag.php:6
msgid "Tag Archives:"
msgstr "Archivi dei tag:"

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr "Contrassegnato anche con i tag %s"

#~ msgid ""
#~ "This entry was written by %1$s, posted on <abbr class=\"published\" title="
#~ "\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s and tagged %7$s. "
#~ "Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark"
#~ "\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" "
#~ "title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss"
#~ "+xml\">RSS feed for this post</a>."
#~ msgstr ""
#~ "Questo articolo è stato scritto da %1$s, pubblicato il <abbr class="
#~ "\"published\" title=\"%2$sT%3$s\">%4$s alle %5$s</abbr>, archiviato in %6"
#~ "$s e contrassegnato con i tag %7$s. Salva il <a href=\"%8$s\" title="
#~ "\"Permalink to %9$s\" rel=\"bookmark\">permalink</a> nei segnalibri. "
#~ "Segui i commenti a questo articolo con il<a href=\"%10$s\" title=\"Feed "
#~ "RSS dei commenti a %9$s\" rel=\"alternate\" type=\"application/rss+xml"
#~ "\">feed RSS</a>."
#~ msgid " &raquo; "
#~ msgstr " &raquo; "
#~ msgid "Skip navigation to the content"
#~ msgstr "Vai direttamente al contenuto"
#~ msgid "Pages: "
#~ msgstr "Pagine:"
#~ msgid "Tagged "
#~ msgstr "Contrassegnato con i tag "


+ 464
- 0
sandbox/translations/ng.pot Näytä tiedosto

@@ -0,0 +1,464 @@
msgid ""
msgstr ""
"Project-Id-Version: Sandbox\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-07-19 00:00-0500\n"
"PO-Revision-Date: \n"
"Last-Translator: Scott Allan Wallick <s@scottwallick.com>\n"
"Language-Team: Scott Allan Wallick <s@scottwallick.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: English\n"
"X-Poedit-Country: UNITED STATES\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Poedit-KeywordsList: __;_e\n"
"X-Poedit-Basepath: .\n"
"X-Poedit-SearchPath-0: \n"

#: 404.php:7
msgid "Not Found"
msgstr ""

#: 404.php:9
msgid "Apologies, but we were unable to find what you were looking for. Perhaps searching will help."
msgstr ""

#: 404.php:14
#: functions.php:362
#: search.php:56
#: sidebar.php:39
msgid "Find"
msgstr ""

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr ""

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr ""

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr ""

#: archive.php:15
msgid "Blog Archives"
msgstr ""

#: archive.php:21
#: archive.php:48
#: author.php:12
#: author.php:39
#: category.php:11
#: category.php:40
#: index.php:7
#: index.php:37
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr ""

#: archive.php:22
#: archive.php:49
#: author.php:13
#: author.php:40
#: category.php:12
#: category.php:41
#: index.php:8
#: index.php:38
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr ""

#: archive.php:28
#: author.php:21
#: category.php:18
#: index.php:14
#: search.php:18
#, php-format
msgid "Permalink to %s"
msgstr ""

#: archive.php:29
#: author.php:22
#: category.php:19
#: index.php:15
#: search.php:19
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr ""

#: archive.php:31
#: author.php:24
#: category.php:21
#: index.php:17
#: search.php:21
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr ""

#: archive.php:35
#: category.php:25
#: index.php:22
#: search.php:27
#, php-format
msgid "By %s"
msgstr ""

#: archive.php:35
#: attachment.php:20
#: category.php:25
#: image.php:21
#: index.php:22
#: search.php:27
#, php-format
msgid "View all posts by %s"
msgstr ""

#: archive.php:37
#: author.php:28
#: index.php:24
#: search.php:29
#, php-format
msgid "Posted in %s"
msgstr ""

#: archive.php:39
#: author.php:30
#: category.php:31
#: index.php:26
#: search.php:31
msgid "<span class=\"tag-links\">Tagged "
msgstr ""

#: archive.php:40
#: archives.php:32
#: attachment.php:38
#: author.php:31
#: category.php:32
#: comments.php:40
#: comments.php:66
#: image.php:39
#: index.php:27
#: links.php:22
#: page.php:15
#: search.php:32
msgid "Edit"
msgstr ""

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (0)"
msgstr ""

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (1)"
msgstr ""

#: archive.php:41
#: author.php:32
#: category.php:33
#: index.php:28
#: search.php:33
msgid "Comments (%)"
msgstr ""

#: archives.php:20
msgid "Archives by Category"
msgstr ""

#: archives.php:26
msgid "Archives by Month"
msgstr ""

#: attachment.php:8
#: image.php:8
#, php-format
msgid "Return to %s"
msgstr ""

#: attachment.php:19
#: image.php:20
#, php-format
msgid "Posted by %1$s on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>. Bookmark the <a href=\"%6$s\" title=\"Permalink to %7$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%8$s\" title=\"Comments RSS to %7$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr ""

#: attachment.php:30
#: image.php:31
#, php-format
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr ""

#: attachment.php:32
#: image.php:33
#, php-format
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr ""

#: attachment.php:34
#: image.php:35
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr ""

#: attachment.php:36
#: image.php:37
msgid "Both comments and trackbacks are currently closed."
msgstr ""

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr ""

#: category.php:6
msgid "Category Archives:"
msgstr ""

#: category.php:28
#, php-format
msgid "Also posted in %s"
msgstr ""

#: comments.php:10
msgid "This post is protected. Enter the password to view any comments."
msgstr ""

#: comments.php:29
#, php-format
msgid "<span>%d</span> Comments"
msgstr ""

#: comments.php:29
msgid "<span>One</span> Comment"
msgstr ""

#: comments.php:36
#, php-format
msgid "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink to this comment\">Permalink</a>"
msgstr ""

#: comments.php:41
msgid "\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n"
msgstr ""

#: comments.php:55
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr ""

#: comments.php:55
msgid "<span>One</span> Trackback"
msgstr ""

#: comments.php:62
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr ""

#: comments.php:67
msgid "\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting moderation.</span>\\n"
msgstr ""

#: comments.php:82
msgid "Post a Comment"
msgstr ""

#: comments.php:85
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr ""

#: comments.php:93
#, php-format
msgid "<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log out of this account\">Log out?</a></span>"
msgstr ""

#: comments.php:100
msgid "Your email is <em>never</em> shared."
msgstr ""

#: comments.php:100
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr ""

#: comments.php:102
msgid "Name"
msgstr ""

#: comments.php:102
#: comments.php:105
msgid "<span class=\"required\">*</span>"
msgstr ""

#: comments.php:105
msgid "Email"
msgstr ""

#: comments.php:108
msgid "Website"
msgstr ""

#: comments.php:113
msgid "Comment"
msgstr ""

#: comments.php:116
msgid "Post Comment"
msgstr ""

#: footer.php:3
msgid "WordPress"
msgstr ""

#: footer.php:5
msgid "Sandbox theme for WordPress"
msgstr ""

#: footer.php:5
msgid "Sandbox"
msgstr ""

#: functions.php:361
#: functions.php:469
#: functions.php:471
#: sidebar.php:35
msgid "Search"
msgstr ""

#: functions.php:390
#: functions.php:443
msgid "Title:"
msgstr ""

#: functions.php:391
msgid "Button Text:"
msgstr ""

#: functions.php:400
#: functions.php:478
#: functions.php:480
#: sidebar.php:55
msgid "Meta"
msgstr ""

#: functions.php:419
#: functions.php:487
#: functions.php:488
msgid "RSS Links"
msgstr ""

#: functions.php:424
msgid "Posts RSS feed"
msgstr ""

#: functions.php:424
#: sidebar.php:49
msgid "All posts"
msgstr ""

#: functions.php:425
msgid "Comments RSS feed"
msgstr ""

#: functions.php:425
#: sidebar.php:50
msgid "All comments"
msgstr ""

#: functions.php:467
msgid "A search form for your blog (Sandbox)"
msgstr ""

#: functions.php:476
msgid "Log in/out and administration links (Sandbox)"
msgstr ""

#: functions.php:485
msgid "RSS links for both posts and comments (Sandbox)"
msgstr ""

#: header.php:8
#: sidebar.php:49
#, php-format
msgid "%s latest posts"
msgstr ""

#: header.php:9
#: sidebar.php:50
#, php-format
msgid "%s latest comments"
msgstr ""

#: header.php:23
msgid "Skip to content"
msgstr ""

#: index.php:19
#: page.php:13
msgid "Pages:"
msgstr ""

#: search.php:8
msgid "Search Results for:"
msgstr ""

#: search.php:11
#: search.php:42
msgid "<span class=\"meta-nav\">&laquo;</span> Older results"
msgstr ""

#: search.php:12
#: search.php:43
msgid "Newer results <span class=\"meta-nav\">&raquo;</span>"
msgstr ""

#: search.php:49
msgid "Nothing Found"
msgstr ""

#: search.php:51
msgid "Sorry, but nothing matched your search criteria. Please try again with some different keywords."
msgstr ""

#: sidebar.php:6
msgid "Pages"
msgstr ""

#: sidebar.php:13
msgid "Categories"
msgstr ""

#: sidebar.php:21
msgid "Archives"
msgstr ""

#: sidebar.php:47
msgid "RSS Feeds"
msgstr ""

#: single.php:21
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr ""

#: single.php:28
msgid " and tagged "
msgstr ""

#: tag.php:6
msgid "Tag Archives:"
msgstr ""

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr ""


BIN
sandbox/translations/nn_NO.mo Näytä tiedosto


+ 478
- 0
sandbox/translations/nn_NO.po Näytä tiedosto

@@ -0,0 +1,478 @@
# Norwegian Bokmal translations for PACKAGE package.
# This file is put in the public domain.
# <kjellkk@gmail.com>, 2008.
#
msgid ""
msgstr ""
"Project-Id-Version: Sandbox 1.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-03-10 00:53-0500\n"
"PO-Revision-Date: 2008-06-09 10:52+0100\n"
"Last-Translator: Havard Grimelid <hgrimelid@gmail.com>\n"
"Language-Team: Norwegian Nynorsk <hgrimelid@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Poedit-Language: Norwegian Nynorsk\n"
"X-Poedit-Country: NORWAY\n"

#: 404.php:7
#: header.php:4
msgid "Not Found"
msgstr "Ikkje funne"

#: 404.php:9
msgid "Apologies, but we were unable to find what you were looking for. Perhaps searching will help."
msgstr "Vi fann ikkje det du leita etter. Kanskje det hjelper å søke?"

#: 404.php:14
#: functions.php:271
#: search.php:53
#: sidebar.php:39
msgid "Find"
msgstr "Søk"

#: archive.php:9
#, php-format
msgid "Daily Archives: <span>%s</span>"
msgstr "Dagleg arkiv: <span>%s</span>"

#: archive.php:11
#, php-format
msgid "Monthly Archives: <span>%s</span>"
msgstr "Månadleg arkiv: <span>%s</span>"

#: archive.php:13
#, php-format
msgid "Yearly Archives: <span>%s</span>"
msgstr "Årleg arkiv: <span>%s</span>"

#: archive.php:15
msgid "Blog Archives"
msgstr "Bloggarkiv"

#: archive.php:21
#: archive.php:48
#: author.php:12
#: author.php:37
#: category.php:10
#: category.php:39
#: index.php:7
#: index.php:35
#: search.php:11
#: search.php:39
#: tag.php:9
#: tag.php:39
msgid "<span class=\"meta-nav\">&laquo;</span> Older posts"
msgstr "<span class=\"meta-nav\">&laquo;</span> Eldre innlegg"

#: archive.php:22
#: archive.php:49
#: author.php:13
#: author.php:38
#: category.php:11
#: category.php:40
#: index.php:8
#: index.php:36
#: search.php:12
#: search.php:40
#: tag.php:10
#: tag.php:40
msgid "Newer posts <span class=\"meta-nav\">&raquo;</span>"
msgstr "Nyare innlegg <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:28
#: author.php:19
#: category.php:17
#: index.php:13
#: search.php:18
#: tag.php:16
#, php-format
msgid "Permalink to %s"
msgstr "Permalenke til %s"

#: archive.php:29
#: author.php:20
#: category.php:18
#: index.php:14
#: search.php:19
#: tag.php:17
#, php-format
msgid "%1$s &#8211; %2$s"
msgstr "%1$s &#8211; %2$s"

#: archive.php:31
#: attachment.php:13
#: author.php:22
#: category.php:20
#: index.php:16
#: search.php:21
#: single.php:15
#: tag.php:19
msgid "Read More <span class=\"meta-nav\">&raquo;</span>"
msgstr "Les meir <span class=\"meta-nav\">&raquo;</span>"

#: archive.php:35
#: category.php:24
#: index.php:21
#: search.php:25
#: tag.php:23
#, php-format
msgid "By %s"
msgstr "Av %s"

#: archive.php:35
#: attachment.php:19
#: category.php:24
#: index.php:21
#: search.php:25
#: single.php:21
#: tag.php:23
#, php-format
msgid "View all posts by %s"
msgstr "Sjå alle innlegg av %s"

#: archive.php:37
#: author.php:26
#: index.php:23
#: search.php:27
#: tag.php:25
#, php-format
msgid "Posted in %s"
msgstr "Publisert i %s"

#: archive.php:39
#: author.php:28
#: category.php:30
#: index.php:25
msgid "<span class=\"tag-links\">Tagged "
msgstr "<span class=\"tag-links\">Merka"

#: archive.php:40
#: archives.php:32
#: attachment.php:39
#: author.php:29
#: category.php:31
#: comments.php:41
#: comments.php:67
#: index.php:26
#: links.php:21
#: page.php:14
#: search.php:31
#: single.php:41
#: tag.php:31
msgid "Edit"
msgstr "Rediger"

#: archive.php:41
#: author.php:30
#: category.php:32
#: index.php:27
#: search.php:32
#: tag.php:32
msgid "Comments (0)"
msgstr "Kommentarar (0)"

#: archive.php:41
#: author.php:30
#: category.php:32
#: index.php:27
#: search.php:32
#: tag.php:32
msgid "Comments (1)"
msgstr "Kommentarar (1)"

#: archive.php:41
#: author.php:30
#: category.php:32
#: index.php:27
#: search.php:32
#: tag.php:32
msgid "Comments (%)"
msgstr "Kommentarar (%)"

#: archives.php:20
msgid "Archives by Category"
msgstr "Arkivert etter kategori"

#: archives.php:26
msgid "Archives by Month"
msgstr "Arkivert etter månad"

#: attachment.php:15
#: index.php:18
#: single.php:17
msgid "Pages:"
msgstr "Sider:"

#: attachment.php:18
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s and tagged %7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Dette innlegget vart skrive av %1$s, publisert <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s klokka %5$s</abbr>, arkivert under %6$s og merka %7$s. Bokmerk <a href=\"%8$s\" title=\"Permalenke til %9$s\" rel=\"bookmark\">permalenka</a>. Følg opp kommentarar ved hjelp av <a href=\"%10$s\" title=\"Kommentar RSS for %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-straum til dette innlegget</a>."

#: attachment.php:25
#: single.php:27
msgid "and tagged"
msgstr "og merka"

#: attachment.php:31
#: single.php:33
#, php-format
msgid "<a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">Post a comment</a> or leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "<a class=\"comment-link\" href=\"#respond\" title=\"Legg til ein kommentar\">Kommentér</a> eller legg att ei tilbakesporing: <a class=\"trackback-link\" href=\"%s\" title=\"Tilbakesporings-URL for innlegget ditt\" rel=\"trackback\">Tibakesporings-URL</a>."

#: attachment.php:33
#: single.php:35
#, php-format
msgid "Comments are closed, but you can leave a trackback: <a class=\"trackback-link\" href=\"%s\" title=\"Trackback URL for your post\" rel=\"trackback\">Trackback URL</a>."
msgstr "Kommentarar er stengt, men du kan legge att ei tilbakesporing: <a class=\"trackback-link\" href=\"%s\" title=\"Tilbakesporings-URL til innlegget ditt\" rel=\"trackback\">Tilbakesporings-URL</a>."

#: attachment.php:35
#: single.php:37
msgid "Trackbacks are closed, but you can <a class=\"comment-link\" href=\"#respond\" title=\"Post a comment\">post a comment</a>."
msgstr "Tilbakesporing er stengt, men du kan <a class=\"comment-link\" href=\"#respond\" title=\"Legg til kommentar\">kommentere</a>."

#: attachment.php:37
#: single.php:39
msgid "Both comments and trackbacks are currently closed."
msgstr "Både kommentarar og tilbakesporingar er sperra."

#: author.php:8
#, php-format
msgid "Author Archives: <span class=\"vcard\">%s</span>"
msgstr "Forfattararkiv: <span class=\"vcard\">%s</span>"

#: category.php:6
msgid "Category Archives:"
msgstr "Kategoriarkiv:"

#: category.php:27
#, php-format
msgid "Also posted in %s"
msgstr "Også arkivert under %s"

#: comments.php:11
msgid "This post is protected. Enter the password to view any comments."
msgstr "Dette innlegget er passordbeskytta. Skriv inn passordet for å lese kommentarar."

#: comments.php:30
#, php-format
msgid "<span>%d</span> Comments"
msgstr "<span>%d</span> Kommentarar"

#: comments.php:30
msgid "<span>One</span> Comment"
msgstr "<span>Ein</span> kommentar"

#: comments.php:37
#, php-format
msgid "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalink to this comment\">Permalink</a>"
msgstr "Posted %1$s at %2$s <span class=\"meta-sep\">|</span> <a href=\"%3$s\" title=\"Permalenke til denne kommentaren\">Permalink</a>"

#: comments.php:42
msgid "\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n"
msgstr "\t\t\t\t\t<span class='unapproved'>Din kommentar ventar på godkjenning.</span>\n"

#: comments.php:56
#, php-format
msgid "<span>%d</span> Trackbacks"
msgstr "<span>%d</span> tilbakesporing"

#: comments.php:56
msgid "<span>One</span> Trackback"
msgstr "<span>Ei</span> tilbakesporing"

#: comments.php:63
#, php-format
msgid "By %1$s on %2$s at %3$s"
msgstr "Av %1$s den %2$s kl %3$s"

#: comments.php:68
msgid "\\t\\t\\t\\t\\t<span class=\"unapproved\">Your trackback is awaiting moderation.</span>\\n"
msgstr "\\t\\t\\t\\t\\t<span class=\"unapproved\">Tilbakesporinga di ventar på godkjenning.</span>\\n"

#: comments.php:81
msgid "Post a Comment"
msgstr "Legg inn ein kommentar"

#: comments.php:84
#, php-format
msgid "You must be <a href=\"%s\" title=\"Log in\">logged in</a> to post a comment."
msgstr "Du må vere <a href=\"%s\" title=\"Log in\">pålogga</a> for å kommentere."

#: comments.php:92
#, php-format
msgid "<span class=\"loggedin\">Logged in as <a href=\"%1$s\" title=\"Logged in as %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Log out of this account\">Log out?</a></span>"
msgstr "<span class=\"loggedin\">Pålogga som <a href=\"%1$s\" title=\"Pålogga som %2$s\">%2$s</a>.</span> <span class=\"logout\"><a href=\"%3$s\" title=\"Logg ut frå denne kontoen?\">Logg ut?</a></span>"

#: comments.php:99
msgid "Your email is <em>never</em> published nor shared."
msgstr "Epost-adressa di vil <em>aldri</em> bli vist eller videreformidla."

#: comments.php:99
msgid "Required fields are marked <span class=\"required\">*</span>"
msgstr "Obligatoriske felt er merka med <span class=\"required\">*</span>"

#: comments.php:101
msgid "Name"
msgstr "Namn"

#: comments.php:101
#: comments.php:104
msgid "<span class=\"required\">*</span>"
msgstr "<span class=\"required\">*</span>"

#: comments.php:104
msgid "Email"
msgstr "E-post"

#: comments.php:107
msgid "Website"
msgstr "Nettstad"

#: comments.php:112
msgid "Comment"
msgstr "Kommentar"

#: comments.php:115
msgid "Post Comment"
msgstr "Legg til kommentar"

#: footer.php:3
msgid "WordPress"
msgstr "WordPress"

#: footer.php:5
msgid "Sandbox for WordPress"
msgstr "Sandbox for WordPress"

#: footer.php:5
msgid "Sandbox"
msgstr "Sandbox"

#: functions.php:270
#: functions.php:378
#: functions.php:380
#: sidebar.php:35
msgid "Search"
msgstr "Søk"

#: functions.php:299
#: functions.php:352
msgid "Title:"
msgstr "Tittel:"

#: functions.php:300
msgid "Button Text:"
msgstr "Knappetekst:"

#: functions.php:309
#: functions.php:387
#: functions.php:389
#: sidebar.php:55
msgid "Meta"
msgstr "Meta"

#: functions.php:328
#: functions.php:396
#: functions.php:397
msgid "RSS Links"
msgstr "RSS-lenker"

#: functions.php:333
#: header.php:8
#: sidebar.php:49
msgid "Posts RSS feed"
msgstr "Innlegg RSS-straum"

#: functions.php:333
#: sidebar.php:49
msgid "All posts"
msgstr "Alle innlegg"

#: functions.php:334
#: header.php:9
#: sidebar.php:50
msgid "Comments RSS feed"
msgstr "Kommentar RSS-straum"

#: functions.php:334
#: sidebar.php:50
msgid "All comments"
msgstr "Alle kommentarar"

#: functions.php:376
msgid "A search form for your blog (Sandbox)"
msgstr "Ein søkeboks til bloggen din (Sandbox)"

#: functions.php:385
msgid "Log in/out and administration links (Sandbox)"
msgstr "Logg inn/ut og administrasjonslinker (Sandbox)"

#: functions.php:394
msgid "RSS links for both posts and comments <small>(Sandbox)</small>"
msgstr "RSS-lenker for både artiklar og kommentarar <small>(Sandbox)</small>"

#: header.php:4
msgid " &raquo; "
msgstr " &raquo; "

#: header.php:25
msgid "Skip navigation to the content"
msgstr "Hopp over navigasjon og gå til innhold"

#: header.php:25
msgid "Skip to content"
msgstr "Gå til innhold"

#: page.php:12
msgid "Pages: "
msgstr "Sider:"

#: search.php:8
msgid "Search Results for:"
msgstr "Søkeresultat for:"

#: search.php:29
msgid "Tagged "
msgstr "Merka"

#: search.php:46
msgid "Nothing Found"
msgstr "Ingenting funne"

#: search.php:48
msgid "Sorry, but nothing matched your search criteria. Please try again with some different keywords."
msgstr "Beklagar, men søket ditt fant ingenting. Prøv igjen med andre nøkkelord."

#: sidebar.php:6
msgid "Pages"
msgstr "Sider"

#: sidebar.php:13
msgid "Categories"
msgstr "Kategoriar"

#: sidebar.php:21
msgid "Archives"
msgstr "Arkiver"

#: sidebar.php:47
msgid "RSS Feeds"
msgstr "RSS-straumar"

#: single.php:20
#, php-format
msgid "This entry was written by %1$s, posted on <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href=\"%8$s\" title=\"Permalink to %9$s\" rel=\"bookmark\">permalink</a>. Follow any comments here with the <a href=\"%10$s\" title=\"Comments RSS to %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS feed for this post</a>."
msgstr "Dette innleget vart skrive av %1$s, publisert <abbr class=\"published\" title=\"%2$sT%3$s\">%4$s klokka %5$s</abbr>, arkivert under %6$s%7$s. Bokmerk <a href=\"%8$s\" title=\"Permalenke til %9$s\" rel=\"bookmark\">permalinken</a>. Hald deg oppdatert på kommentarar: <a href=\"%10$s\" title=\"Kommentar RSS for %9$s\" rel=\"alternate\" type=\"application/rss+xml\">RSS-straum for dette innlegget</a>."

#: tag.php:6
msgid "Tag Archives:"
msgstr "Merkelapparkiv:"

#: tag.php:28
#, php-format
msgid "Also tagged %s"
msgstr "Også merka %s"


+ 7
- 0
sandbox/translations/translation-readme.txt Näytä tiedosto

@@ -0,0 +1,7 @@
=== Sandbox Translations ===

This folder contains the source files for the translations provided with the Sandbox. The sandbox.pot file included here should be used for generating your translations.

For more information on creating a Sandbox translation in your language, please visit

http://code.google.com/p/sandbox-theme/wiki/SandboxInYourLanguage

Loading…
Peruuta
Tallenna